|
- package svc
-
- import (
- "applet/app/db"
- "applet/app/db/model"
- offical "applet/app/db/official"
- "applet/app/utils"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md/csjp"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/tik_tok"
- "fmt"
- "strings"
- "time"
- )
-
- func CsjpLocalLifeOrder() {
-
- p := ""
- for true {
- _, curor, hasMore := GetCsjpLocalLifeOrder(p)
- if hasMore == false {
- break
- }
- p = curor
- }
-
- }
-
- func GetCsjpLocalLifeOrder(p string) (int, string, bool) {
- endTime := time.Now().Unix()
- startTime := endTime - 3600
- tikTokCsjpAppId := offical.SysCfgByKeyStr("tik_tok_csjp_life_app_id")
- tikTokCsjpAppSecret := offical.SysCfgByKeyStr("tik_tok_csjp_life_app_secret")
- param := map[string]string{
- "cursor": p,
- "count": "50",
- "update_time_begin": utils.Int64ToStr(startTime),
- "update_time_end": utils.Int64ToStr(endTime),
- }
- param["app_id"] = tikTokCsjpAppId
- param["app_secret"] = tikTokCsjpAppSecret
- data, cursor, hasMore := tik_tok.CsjpLifeGetOrder(param)
- count := 0
- if data != nil {
- for _, v := range *data {
- AddCsjpLocalLifeOrder(v)
- }
- return count, utils.Int64ToStr(cursor), hasMore
- }
- return count, "", false
- }
- func AddCsjpLocalLifeOrder(order csjp.CsjpOrder) {
-
- statusArr := map[int]string{1: "订单付款", 2: "订单退款", 3: "订单成功", 4: "部分核销", 5: "部分退款"}
- userId := order.CommandExternalInfo
- isShare := 0
- if strings.Contains(utils.AnyToString(userId), "s") {
- isShare = 1
- }
- split := strings.Split(utils.AnyToString(userId), "_")
- if len(split) < 3 {
- return
- }
- mid := split[2]
- puid := ""
- if len(split) == 4 {
- puid = split[2]
- }
- uid := split[1]
- title := ""
- img := ""
- if len(order.ProductList) > 0 {
- title = order.ProductList[0].Name
- img = order.ProductList[0].Img
- }
- var ord = &model.GuideOrder{
- Oid: utils.StrToInt64(utils.OrderUUID(utils.StrToInt(uid))),
- Uid: utils.StrToInt(mid),
- ExtendUid: utils.StrToInt(puid),
- StationUid: utils.StrToInt(uid),
- PvdOid: order.OrderId,
- PvdParentOid: order.RootOrderId,
- Status: statusArr[order.Status],
- CreateTime: order.PayTime,
- UpdateTime: int(time.Now().Unix()),
- Commission: utils.Float64ToStr(float64(order.CommissionAmount) / 100),
- Title: title,
- Payment: utils.Float64ToStr(float64(order.PayAmount) / 100),
- Pvd: "tikTok_life",
- Img: img,
- IsShare: isShare,
- }
-
- if order.SettleFinish || order.Status != 2 {
- var amount int64 = 0
- isEnd := 1
- var endTime int64 = 0
- settleOrders, ok := order.SettleOrders.([]interface{})
- if ok {
- for _, v := range settleOrders {
- tmp, ok := v.(map[string]interface{})
- if ok == false || utils.AnyToInt64(tmp["status"]) < 3 {
- isEnd = 0
- }
- if ok && utils.AnyToInt64(tmp["status"]) == 3 {
- endTime = utils.AnyToInt64(tmp["settle_time"])
- amount += utils.AnyToInt64(tmp["settle_amount"])
- }
- }
- }
- if ok == false || len(settleOrders) == 0 {
- isEnd = 0
- }
- if isEnd == 1 {
- ord.Status = "订单结算"
- if order.Status == 5 {
- ord.Status = "部分结算"
- }
- ord.PlatformSettleTime = int(endTime)
- if ord.PlatformSettleTime == 0 {
- ord.PlatformSettleTime = ord.UpdateTime
- }
- ord.RealCommission = utils.Float64ToStr(float64(amount) / 100)
- }
- }
- one := db.GetGuideOrderByOne(ord.PvdOid, utils.IntToStr(ord.Uid), ord.Pvd)
- if one == nil {
- insertOne, err := db.ZhimengDb.InsertOne(ord)
- fmt.Println(insertOne)
- fmt.Println(err)
- } else {
- ord.SettleTime = one.SettleTime
- if one.PlatformSettleTime > 0 {
- ord.PlatformSettleTime = one.PlatformSettleTime
- }
- db.ZhimengDb.Where("id=?", one.Id).AllCols().Update(ord)
- }
- return
- }
|