|
|
- package productrpc
-
- import (
- "encoding/json"
- "log"
- "sort"
- "strconv"
-
- // "strconv"
- // "time"
- "git.tetele.net/tgo/helper"
- )
-
- /**
- * 获取商品进行中活动
- * 2021/10/06
- * GZ
- */
- func GetProductActivity(site_id, dbname, id string, url ...string) ([]map[string]string, error) {
-
- conn, err := rpc_server_conn(url...)
- if err != nil {
- return nil, err
- }
- defer conn.Close()
-
- arg := GetActivityParam{site_id, dbname, id, "0"}
-
- req, err := SetReqData(arg)
- if err != nil {
- return nil, err
- }
-
- res := &Response{}
-
- err = conn.GetProductActivity(req, res)
-
- if err != nil {
- return nil, err
- }
-
- res_data_de, err := GetResData(res)
- if err != nil {
- return nil, err
- }
- if res_data_de == "" {
- return nil, nil
- }
- var res_arr []map[string]string
-
- err = json.Unmarshal([]byte(res_data_de), &res_arr)
-
- if err != nil {
- return nil, err
- }
-
- 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
- }
-
- /**
- * 获取商品预热中活动
- * 2021/10/06
- * GZ
- */
- func GetProductWarmingActivity(site_id, dbname, id string, url ...string) ([]map[string]string, error) {
-
- conn, err := rpc_server_conn(url...)
- if err != nil {
- return nil, err
- }
- defer conn.Close()
-
- arg := GetActivityParam{site_id, dbname, id, "0"}
-
- req, err := SetReqData(arg)
- if err != nil {
- return nil, err
- }
-
- res := &Response{}
-
- err = conn.GetProductWarmingActivity(req, res)
-
- if err != nil {
- return nil, err
- }
-
- res_data_de, err := GetResData(res)
- if err != nil {
- return nil, err
- }
- if res_data_de == "" {
- return nil, nil
- }
- var res_arr []map[string]string
-
- err = json.Unmarshal([]byte(res_data_de), &res_arr)
-
- if err != nil {
- return nil, err
- }
-
- 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
- }
-
- /**
- * 获取商品进行中活动
- * 2021/10/06
- * GZ
- */
- func GetProductAllActivity(site_id, dbname, id string, url ...string) ([]map[string]interface{}, error) {
-
- conn, err := rpc_server_conn(url...)
- if err != nil {
- return nil, err
- }
- defer conn.Close()
-
- arg := GetActivityParam{site_id, dbname, id, "0"}
-
- req, err := SetReqData(arg)
- if err != nil {
- return nil, err
- }
-
- res := &Response{}
-
- err = conn.GetProductAllActivity(req, res)
-
- if err != nil {
- return nil, err
- }
-
- res_data_de, err := GetResData(res)
-
- if err != nil {
- return nil, err
- }
- if res_data_de == "" {
- return nil, nil
- }
- var res_arr []map[string]interface{}
-
- err = json.Unmarshal([]byte(res_data_de), &res_arr)
-
- if err != nil {
- log.Println(err)
- return nil, err
- }
-
- var activitys Activitys
-
- if len(res_arr) > 0 {
- var start int
-
- for _, item := range res_arr {
- start = helper.ToInt(item["starttime"])
-
- activitys = append(activitys, Activity{
- Id: helper.ToStr(item["id"]),
- Start: start,
- })
- }
- }
-
- sort.Sort(activitys)
-
- var list []map[string]interface{} = make([]map[string]interface{}, 0)
-
- if len(activitys) > 0 {
- for _, v := range activitys {
- for _, old := range res_arr {
- if v.Id == helper.ToStr(old["id"]) {
- list = append(list, old)
- break
- }
- }
- }
- }
-
- return list, nil
- }
|