Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -4,11 +4,11 @@ import (
|
||||
"crypto/md5"
|
||||
"errors"
|
||||
"fmt"
|
||||
order_getSettleBillDetailV3_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getSettleBillDetailV3/request"
|
||||
"git.rosy.net.cn/jx-callback/business/authz/autils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/excel"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
|
||||
"git.rosy.net.cn/jx-callback/globals/api2"
|
||||
beego "github.com/astaxie/beego/server/web"
|
||||
"math"
|
||||
@@ -2477,53 +2477,40 @@ func ExportOrderWithSku(ctx *jxcontext.Context, orders []*model.GoodsOrderExt) (
|
||||
|
||||
// UpdateTiktokShopTotalMoney 定时任务更新抖店订单的平台结算
|
||||
func UpdateTiktokShopTotalMoney() {
|
||||
db := dao.GetDB()
|
||||
var goodsOrders []*model.GoodsOrder
|
||||
|
||||
sql := `SELECT g.* FROM goods_order g WHERE g.order_created_at >= ? AND g.status = ? AND g.vendor_id = ? AND total_shop_money = ? ORDER BY g.order_created_at desc`
|
||||
orderCreateTime := time.Now().AddDate(0, 0, -15)
|
||||
param := []interface{}{orderCreateTime, model.OrderStatusFinished, model.VendorIDDD, model.NO}
|
||||
if err := dao.GetRows(dao.GetDB(), &goodsOrders, sql, param...); err != nil {
|
||||
if err := dao.GetRows(db, &goodsOrders, sql, param...); err != nil {
|
||||
globals.SugarLogger.Debugf("Update GoodsOrder Total shop money err %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
orderList := make([]string, 0, 0)
|
||||
goodsOrdersMap := make(map[string]*model.GoodsOrder, len(goodsOrders))
|
||||
for _, v := range goodsOrders {
|
||||
orderList = append(orderList, v.VendorOrderID)
|
||||
goodsOrdersMap[v.VendorOrderID] = v
|
||||
}
|
||||
|
||||
db := dao.GetDB()
|
||||
randNum := 0
|
||||
nextStartIndex := ""
|
||||
if len(orderList) <= 50 {
|
||||
randNum = 1
|
||||
} else {
|
||||
randNum = len(orderList) / 50
|
||||
if len(orderList)%50 != 0 {
|
||||
randNum++
|
||||
for _, v := range goodsOrders {
|
||||
orderDetail, err := tiktok_store.GetOrderDetail(v.VendorOrgCode, v.VendorOrderID)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Errorf("定时任务:查询订单详情错误,更新订单结算信息,[%s]", err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < randNum; i++ {
|
||||
orderString := strings.Join(orderList[0:i*50], ",")
|
||||
orderMap, next, err := api.TiktokStore.GetSettleBillDetailV3(&order_getSettleBillDetailV3_request.OrderGetSettleBillDetailV3Param{
|
||||
Size: 50,
|
||||
OrderId: orderString,
|
||||
StartIndex: nextStartIndex,
|
||||
})
|
||||
childrenOrderList := make([]string, 0, 0)
|
||||
for _, v := range orderDetail.SkuOrderList {
|
||||
childrenOrderList = append(childrenOrderList, v.OrderId)
|
||||
}
|
||||
|
||||
totalShopMoney, next, err := tiktok_store.GetOrderTotalShopMoney(v.VendorOrgCode, strings.Join(childrenOrderList, ","), nextStartIndex)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Errorf("获取平台订单异常 : %s", err)
|
||||
continue
|
||||
}
|
||||
for k, v := range orderMap {
|
||||
goodsOrdersMap[k].TotalShopMoney = v
|
||||
if _, err := dao.UpdateEntity(db, goodsOrdersMap[k], "TotalShopMoney"); err != nil {
|
||||
globals.SugarLogger.Errorf("更新本地订单结算信息错误 : %s", err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
nextStartIndex = next
|
||||
v.TotalShopMoney = totalShopMoney
|
||||
if _, err := dao.UpdateEntity(db, v, "TotalShopMoney"); err != nil {
|
||||
globals.SugarLogger.Errorf("更新本地订单结算信息错误 : %s", err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4430,7 +4430,7 @@ func RefreshTiktokShopToken(ctx *jxcontext.Context) (err error) {
|
||||
globals.SugarLogger.Debugf("定时任务更新抖店店铺token错误:%s,%s", utils.Format4Output(v, false), err.Error())
|
||||
continue
|
||||
}
|
||||
if access.ExpiresIn-time.Now().Unix() > 48*60*60 {
|
||||
if access.ExpiresIn-time.Now().Unix() > 60*60 {
|
||||
continue
|
||||
}
|
||||
api.SetToken(access.AccessToken)
|
||||
@@ -4441,7 +4441,7 @@ func RefreshTiktokShopToken(ctx *jxcontext.Context) (err error) {
|
||||
token, _ := json.Marshal(result)
|
||||
v.Token = string(token)
|
||||
v.UpdatedAt = time.Now()
|
||||
v.Comment = utils.Time2Str(time.Now())[0:11] + ":" + v.Token[0:230]
|
||||
v.StoreBrandName = "定时任务更新"
|
||||
dao.UpdateEntity(db, v, "Token", "UpdatedAt", "Comment")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -678,15 +678,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
// }
|
||||
}
|
||||
|
||||
//globals.SugarLogger.Debugf("==============createList=%s", utils.Format4Output(createList, false))
|
||||
//globals.SugarLogger.Debugf("===============updateList%s", utils.Format4Output(updateList, false))
|
||||
//globals.SugarLogger.Debugf("==============deleteList=%s", utils.Format4Output(deleteList, false))
|
||||
//globals.SugarLogger.Debugf("===============priceList%s", utils.Format4Output(priceList, false))
|
||||
//globals.SugarLogger.Debugf("===============stockList%s", utils.Format4Output(stockList, false))
|
||||
//globals.SugarLogger.Debugf("==============onlineList=%s", utils.Format4Output(onlineList, false))
|
||||
//globals.SugarLogger.Debugf("===============offlineList %s", utils.Format4Output(offlineList, false))
|
||||
//globals.SugarLogger.Debugf("===============offlineList %s", utils.Format4Output(offlineList, false))
|
||||
|
||||
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
step := batchItemList[0].(int)
|
||||
|
||||
@@ -243,6 +243,11 @@ func Init() {
|
||||
orderman.FixedOrderManager.AmendMissingOrders(jxcontext.AdminCtx, []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI, model.VendorIDDD}, 0, curDate, curDate, true, true)
|
||||
}, 5*time.Second, 10*time.Minute)
|
||||
|
||||
//刷新抖音门店token
|
||||
ScheduleTimerFuncByInterval(func() {
|
||||
cms.RefreshTiktokShopToken(jxcontext.AdminCtx)
|
||||
}, 60*time.Second, 30*time.Minute)
|
||||
|
||||
//刷新京东物竞天择订单结算价
|
||||
ScheduleTimerFunc("RefreshJdShopOrdersEarningPrice", func() {
|
||||
orderman.RefreshJdShopOrdersEarningPrice(jxcontext.AdminCtx, utils.Time2Str(time.Now().AddDate(0, 0, -2)), utils.Time2Str(time.Now().AddDate(0, 0, -2)))
|
||||
@@ -332,10 +337,7 @@ func Init() {
|
||||
ScheduleTimerFunc("RefreshMTWMToken", func() {
|
||||
cms.RefreshMTWMToken(jxcontext.AdminCtx)
|
||||
}, updateActStatusTimeList)
|
||||
//刷新抖音门店token
|
||||
ScheduleTimerFunc("RefreshTiktokShopToken", func() {
|
||||
cms.RefreshTiktokShopToken(jxcontext.AdminCtx)
|
||||
}, updateActStatusTimeList)
|
||||
|
||||
//获取最新平台流量活动
|
||||
ScheduleTimerFunc("GetNewVendorPopActs", func() {
|
||||
act.GetNewVendorPopActs(jxcontext.AdminCtx)
|
||||
|
||||
@@ -993,10 +993,15 @@ func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
|
||||
}
|
||||
|
||||
// GetOrderTotalShopMoney 获取门店结算信息
|
||||
func GetOrderTotalShopMoney(appOrgCode string, orderIds string, nextStartIndex string) (map[string]int64, string, error) {
|
||||
func GetOrderTotalShopMoney(appOrgCode string, orderIds string, nextStartIndex string) (int64, string, error) {
|
||||
return getAPI(appOrgCode, 0, "").GetSettleBillDetailV3(&order_getSettleBillDetailV3_request.OrderGetSettleBillDetailV3Param{
|
||||
Size: 50,
|
||||
OrderId: orderIds,
|
||||
StartIndex: nextStartIndex,
|
||||
})
|
||||
}
|
||||
|
||||
// GetOrderDetail 获取订单详情
|
||||
func GetOrderDetail(appOrgCode, vendorOrderID string) (*order_orderDetail_response.ShopOrderDetail, error) {
|
||||
return getAPI(appOrgCode, 0, "").GetTiktokOrderDetail(vendorOrderID)
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ func (p *PurchaseHandler) DeleteStoreSkus(ctx *jxcontext.Context, storeID int, v
|
||||
if v.VendorMainId == "" {
|
||||
continue
|
||||
}
|
||||
if err = getAPI(storeSkuList[0].VendorOrgCode, storeID, vendorStoreID).DeleteStoreCommodity(utils.Str2Int64(v.VendorMainId)); err != nil {
|
||||
if err = getAPI(storeSkuList[0].VendorOrgCode, storeID, vendorStoreID).DeleteStoreCommodity(utils.Str2Int64(v.VendorSkuID)); err != nil {
|
||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "删除主商品")...)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user