package report import ( pdd2 "duoduo/apis/pdd" "duoduo/conf" "duoduo/models/mysql" "duoduo/models/pdd" "duoduo/tools" "fmt" "time" ) func OrderList() { go DdkOrder() } func DdkOrder() { var inData pdd.PddDdkOrderListIncrementGetRequest var outData pdd.PddDdkOrderListIncrementGetResponse var pddErr pdd.ErrorPddResponse var sqlData mysql.Order var pag int confIni, err := conf.ConnIni() if err != nil { return } pag = 0 for { pag++ inData.ClientId = confIni.MustValue("pdd", "client_id") inData.Type = "pdd.ddk.order.list.increment.get" inData.Timestamp = fmt.Sprintf("%d", time.Now().Unix()) inData.DataType = "JSON" inData.Page = fmt.Sprintf("%d", pag) inData.PageSize = "50" timeInt := time.Now().Unix() inData.EndUpdateTime = fmt.Sprintf("%d", timeInt) inData.StartUpdateTime = fmt.Sprintf("%d", timeInt-60) inData.Sign = "sign" sign, err := pdd2.DDKSign(inData) if err != nil { return } inData.Sign = sign val, err := pdd2.PostDDk(inData, nil) if err != nil { return } err = tools.JsonUnmarshal(val, &pddErr) if err != nil { return } err = tools.JsonUnmarshal(val, &outData) if err != nil { return } if pddErr.ErrorResponse.ErrorCode != 0 { return } //同步订单信息 for i := 0; i < len(outData.OrderListGetResponse.OrderList); i++ { sqlData.OrderID = outData.OrderListGetResponse.OrderList[i].OrderID sqlData.PID = outData.OrderListGetResponse.OrderList[i].PID sqlData.UpdateTime = tools.GetCurrntTimeStr() sqlData.OrderStatus = outData.OrderListGetResponse.OrderList[i].OrderStatus sqlData.GoodsName = outData.OrderListGetResponse.OrderList[i].GoodsName sqlData.GoodsThumbnailURL = outData.OrderListGetResponse.OrderList[i].GoodsThumbnailURL sqlData.OrderGroupSuccessTime = tools.TimeToStr(outData.OrderListGetResponse.OrderList[i].OrderGroupSuccessTime) sqlData.OrderStatusDesc = outData.OrderListGetResponse.OrderList[i].OrderStatusDesc sqlData.PromotionAmount = outData.OrderListGetResponse.OrderList[i].PromotionAmount sqlData.JSONData, _ = tools.JsonMarshal(&outData.OrderListGetResponse.OrderList[i]) count := sqlData.GetNum() if count <= 0 { sqlData.CreateTime = tools.GetCurrntTimeStr() _, err = sqlData.Create() if err != nil { return } } else { _, err = sqlData.Update(sqlData.OrderID) if err != nil { return } } } if outData.OrderListGetResponse.TotalCount < 50 { break } } }