|
- package svc
-
- import (
- "applet/app/cfg"
- "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/thirdParty/ali1688"
- "fmt"
- "github.com/tidwall/gjson"
- "strings"
- "time"
- )
-
- func Ali1688Order(timeType string) {
- var (
- beginTime int64 = 0
- endTime int64 = 0
- pageNo int = 1
- pageSize int = 50
- )
- today := utils.GetTimeRange("today")
- beginTime = today["start"]
- endTime = today["end"]
- unionData := offical.SysCfgByKeyStr("ali1688_data")
- for {
- count := 0
- count, _ = OrdersAli1688Get(pageNo, pageSize, beginTime, endTime, timeType, 1, unionData)
- if count == 0 {
- break
- }
- // 判断是否分页已经全部取完了
- if count <= pageSize {
- pageNo++
- fmt.Println("========下一页========" + utils.IntToStr(pageNo))
- count = 0
- continue
- }
- }
- return
- }
-
- func OrdersAli1688Get(p int, pageSize int, sTime, eTime int64, timeType string, pvd int, unionData string) (int, string) {
- args := map[string]string{
- "queryOrderType": "orderAll",
- "queryStartTime": time.Unix(sTime, 0).Format("2006-01-02"),
- "queryEndTime": time.Unix(eTime, 0).Format("2006-01-02"),
- "pageNo": utils.IntToStr(p),
- "pageSize": utils.IntToStr(pageSize),
- "queryTimeType": timeType,
- }
- key := gjson.Get(unionData, "key").String()
- secret := gjson.Get(unionData, "secret").String()
- token := gjson.Get(unionData, "token").String()
- order := ali1688.AliGoodsOrder(key, secret, token, args)
- if order == nil || len(order) == 0 {
- return 0, ""
- }
- count := len(order)
- stateArr := map[int]string{
- 20: "订单付款",
- 50: "订单完成",
- 80: "订单失败",
- }
- for _, v := range order {
- if v.OrderState == 10 {
- continue
- }
- status := stateArr[v.OrderState]
- ex := strings.Split(v.Ext, "_")
- if strings.Contains(utils.AnyToString(v.Ext), "zhiying") == false {
- continue
- }
- if strings.Contains(utils.AnyToString(v.Ext), "dev") && cfg.Prd {
- continue
- }
- if strings.Contains(utils.AnyToString(v.Ext), "prd") && cfg.Prd == false {
- continue
- }
- var ord = &model.GuideOrder{
- Oid: utils.StrToInt64(utils.OrderUUID(utils.StrToInt(ex[3]))),
- Uid: utils.StrToInt(ex[2]),
- StationUid: utils.StrToInt(ex[3]),
- PvdOid: utils.Int64ToStr(v.BizSubId),
- Status: status,
- UpdateTime: int(time.Now().Unix()),
- Title: utils.AnyToString(v.Name),
- Payment: utils.Float64ToStr(v.TradeAmount),
- Pvd: "ali1688",
- IsShare: utils.StrToInt(ex[4]),
- ThreeType: "ali1688",
- PvdParentOid: utils.Int64ToStr(v.BizId),
- CreateTime: int(utils.TimeStdParseUnix(v.CreateTime)),
- }
- if v.SettleState == 1 {
- ord.Status = "订单结算"
- ord.PlatformSettleTime = int(utils.TimeStdParseUnix(v.SettleTime))
- }
- if v.RightsState == 30 {
- ord.Status = "订单失败"
- }
- ord.Commission = utils.Float64ToStr(v.Commission)
- ord.RealCommission = utils.Float64ToStr(v.Commission)
- one := db.GetGuideOrderByOid(utils.AnyToString(v.BizSubId), "ali1688")
- 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
- }
- if one.Status == "违规订单" {
- ord.Status = "违规订单"
- }
- db.ZhimengDb.Where("id=?", one.Id).AllCols().Update(ord)
- }
-
- }
- return count, ""
- }
|