Browse Source

商品活动增加排序

master v0.5.4
guzeng 3 years ago
parent
commit
f2db689215
2 changed files with 185 additions and 10 deletions
  1. +122
    -3
      activity.go
  2. +63
    -7
      activity_test.go

+ 122
- 3
activity.go View File

@ -2,6 +2,9 @@ package productrpc
import ( import (
"encoding/json" "encoding/json"
"log"
"sort"
"strconv"
// "strconv" // "strconv"
// "time" // "time"
) )
@ -48,7 +51,40 @@ func GetActivity(site_id, dbname, id string, sku_id string, url ...string) ([]ma
if err != nil { if err != nil {
return nil, err return nil, err
} }
return res_arr, nil
var activitys Activitys
if len(res_arr) > 0 {
var start int
for _, item := range res_arr {
start, err = strconv.Atoi(item["Starttime"])
if err != nil {
log.Println(err)
}
activitys = append(activitys, Activity{
Id: item["Id"],
Start: start,
})
}
}
sort.Sort(activitys)
var list []map[string]string = make([]map[string]string, 0)
if len(activitys) > 0 {
for _, v := range activitys {
for _, old := range res_arr {
if v.Id == old["Id"] {
list = append(list, old)
break
}
}
}
}
return list, nil
} }
/** /**
@ -93,7 +129,40 @@ func GetWarmingActivity(site_id, dbname, id string, sku_id string, url ...string
if err != nil { if err != nil {
return nil, err return nil, err
} }
return res_arr, nil
var activitys Activitys
if len(res_arr) > 0 {
var start int
for _, item := range res_arr {
start, err = strconv.Atoi(item["Starttime"])
if err != nil {
log.Println(err)
}
activitys = append(activitys, Activity{
Id: item["Id"],
Start: start,
})
}
}
sort.Sort(activitys)
var list []map[string]string = make([]map[string]string, 0)
if len(activitys) > 0 {
for _, v := range activitys {
for _, old := range res_arr {
if v.Id == old["Id"] {
list = append(list, old)
break
}
}
}
}
return list, nil
} }
/** /**
@ -138,5 +207,55 @@ func GetAllActivity(site_id, dbname, id string, sku_id string, url ...string) ([
if err != nil { if err != nil {
return nil, err return nil, err
} }
return res_arr, nil
var activitys Activitys
if len(res_arr) > 0 {
var start int
for _, item := range res_arr {
start, err = strconv.Atoi(item["Starttime"])
if err != nil {
log.Println(err)
}
activitys = append(activitys, Activity{
Id: item["Id"],
Start: start,
})
}
}
sort.Sort(activitys)
var list []map[string]string = make([]map[string]string, 0)
if len(activitys) > 0 {
for _, v := range activitys {
for _, old := range res_arr {
if v.Id == old["Id"] {
list = append(list, old)
break
}
}
}
}
return list, nil
}
type Activity struct {
Id string
Start int
}
type Activitys []Activity
func (s Activitys) Len() int {
return len(s)
}
func (s Activitys) Swap(i, j int) {
s[i], s[j] = s[j], s[i]
}
func (s Activitys) Less(i, j int) bool {
return s[i].Start < s[j].Start
} }

+ 63
- 7
activity_test.go View File

@ -1,17 +1,73 @@
package productrpc package productrpc
import ( import (
"log"
"sort"
"strconv"
"testing" "testing"
) )
func Test_GetAllActivity(t *testing.T) { func Test_GetAllActivity(t *testing.T) {
dbname := "shop_v2"
id := "10248"
site_id := "10248"
sku_id := "10248"
// dbname := "shop_v2"
// id := "10248"
// site_id := "10248"
// sku_id := "10248"
ret, err := GetAllActivity(site_id, dbname, id, sku_id)
// ret, err := GetAllActivity(site_id, dbname, id, sku_id)
t.Log(ret)
t.Log(err)
// t.Log(ret)
// t.Log(err)
res_arr := []map[string]string{
map[string]string{
"Id": "55",
"Starttime": "19852365",
},
map[string]string{
"Id": "22",
"Starttime": "17852365",
},
map[string]string{
"Id": "11",
"Starttime": "18852365",
},
}
t.Log(res_arr)
var activitys Activitys
var err error
if len(res_arr) > 0 {
var start int
for _, item := range res_arr {
start, err = strconv.Atoi(item["Starttime"])
if err != nil {
log.Println(err)
}
activitys = append(activitys, Activity{
Id: item["Id"],
Start: start,
})
}
}
sort.Sort(activitys)
t.Log(activitys)
var list []map[string]string = make([]map[string]string, 0)
if len(activitys) > 0 {
for _, v := range activitys {
for _, old := range res_arr {
if v.Id == old["Id"] {
list = append(list, old)
break
}
}
}
}
t.Log(list)
} }

Loading…
Cancel
Save