1
This commit is contained in:
@@ -4,11 +4,11 @@ import (
|
|||||||
"crypto/md5"
|
"crypto/md5"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"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/authz/autils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/excel"
|
"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/netprinter"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
"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"
|
"git.rosy.net.cn/jx-callback/globals/api2"
|
||||||
beego "github.com/astaxie/beego/server/web"
|
beego "github.com/astaxie/beego/server/web"
|
||||||
"math"
|
"math"
|
||||||
@@ -2477,53 +2477,40 @@ func ExportOrderWithSku(ctx *jxcontext.Context, orders []*model.GoodsOrderExt) (
|
|||||||
|
|
||||||
// UpdateTiktokShopTotalMoney 定时任务更新抖店订单的平台结算
|
// UpdateTiktokShopTotalMoney 定时任务更新抖店订单的平台结算
|
||||||
func UpdateTiktokShopTotalMoney() {
|
func UpdateTiktokShopTotalMoney() {
|
||||||
|
db := dao.GetDB()
|
||||||
var goodsOrders []*model.GoodsOrder
|
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`
|
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)
|
orderCreateTime := time.Now().AddDate(0, 0, -15)
|
||||||
param := []interface{}{orderCreateTime, model.OrderStatusFinished, model.VendorIDDD, model.NO}
|
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)
|
globals.SugarLogger.Debugf("Update GoodsOrder Total shop money err %s", err)
|
||||||
return
|
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 := ""
|
nextStartIndex := ""
|
||||||
if len(orderList) <= 50 {
|
for _, v := range goodsOrders {
|
||||||
randNum = 1
|
orderDetail, err := tiktok_store.GetOrderDetail(v.VendorOrgCode, v.VendorOrderID)
|
||||||
} else {
|
if err != nil {
|
||||||
randNum = len(orderList) / 50
|
globals.SugarLogger.Errorf("定时任务:查询订单详情错误,更新订单结算信息,[%s]", err)
|
||||||
if len(orderList)%50 != 0 {
|
continue
|
||||||
randNum++
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
for i := 0; i < randNum; i++ {
|
childrenOrderList := make([]string, 0, 0)
|
||||||
orderString := strings.Join(orderList[0:i*50], ",")
|
for _, v := range orderDetail.SkuOrderList {
|
||||||
orderMap, next, err := api.TiktokStore.GetSettleBillDetailV3(&order_getSettleBillDetailV3_request.OrderGetSettleBillDetailV3Param{
|
childrenOrderList = append(childrenOrderList, v.OrderId)
|
||||||
Size: 50,
|
}
|
||||||
OrderId: orderString,
|
|
||||||
StartIndex: nextStartIndex,
|
totalShopMoney, next, err := tiktok_store.GetOrderTotalShopMoney(v.VendorOrgCode, strings.Join(childrenOrderList, ","), nextStartIndex)
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globals.SugarLogger.Errorf("获取平台订单异常 : %s", err)
|
globals.SugarLogger.Errorf("获取平台订单异常 : %s", err)
|
||||||
continue
|
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
|
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())
|
globals.SugarLogger.Debugf("定时任务更新抖店店铺token错误:%s,%s", utils.Format4Output(v, false), err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if access.ExpiresIn-time.Now().Unix() > 48*60*60 {
|
if access.ExpiresIn-time.Now().Unix() > 60*60 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
api.SetToken(access.AccessToken)
|
api.SetToken(access.AccessToken)
|
||||||
@@ -4441,7 +4441,7 @@ func RefreshTiktokShopToken(ctx *jxcontext.Context) (err error) {
|
|||||||
token, _ := json.Marshal(result)
|
token, _ := json.Marshal(result)
|
||||||
v.Token = string(token)
|
v.Token = string(token)
|
||||||
v.UpdatedAt = time.Now()
|
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")
|
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,
|
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
step := batchItemList[0].(int)
|
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)
|
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)
|
}, 5*time.Second, 10*time.Minute)
|
||||||
|
|
||||||
|
//刷新抖音门店token
|
||||||
|
ScheduleTimerFuncByInterval(func() {
|
||||||
|
cms.RefreshTiktokShopToken(jxcontext.AdminCtx)
|
||||||
|
}, 60*time.Second, 30*time.Minute)
|
||||||
|
|
||||||
//刷新京东物竞天择订单结算价
|
//刷新京东物竞天择订单结算价
|
||||||
ScheduleTimerFunc("RefreshJdShopOrdersEarningPrice", func() {
|
ScheduleTimerFunc("RefreshJdShopOrdersEarningPrice", func() {
|
||||||
orderman.RefreshJdShopOrdersEarningPrice(jxcontext.AdminCtx, utils.Time2Str(time.Now().AddDate(0, 0, -2)), utils.Time2Str(time.Now().AddDate(0, 0, -2)))
|
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() {
|
ScheduleTimerFunc("RefreshMTWMToken", func() {
|
||||||
cms.RefreshMTWMToken(jxcontext.AdminCtx)
|
cms.RefreshMTWMToken(jxcontext.AdminCtx)
|
||||||
}, updateActStatusTimeList)
|
}, updateActStatusTimeList)
|
||||||
//刷新抖音门店token
|
|
||||||
ScheduleTimerFunc("RefreshTiktokShopToken", func() {
|
|
||||||
cms.RefreshTiktokShopToken(jxcontext.AdminCtx)
|
|
||||||
}, updateActStatusTimeList)
|
|
||||||
//获取最新平台流量活动
|
//获取最新平台流量活动
|
||||||
ScheduleTimerFunc("GetNewVendorPopActs", func() {
|
ScheduleTimerFunc("GetNewVendorPopActs", func() {
|
||||||
act.GetNewVendorPopActs(jxcontext.AdminCtx)
|
act.GetNewVendorPopActs(jxcontext.AdminCtx)
|
||||||
|
|||||||
@@ -993,10 +993,15 @@ func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetOrderTotalShopMoney 获取门店结算信息
|
// 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{
|
return getAPI(appOrgCode, 0, "").GetSettleBillDetailV3(&order_getSettleBillDetailV3_request.OrderGetSettleBillDetailV3Param{
|
||||||
Size: 50,
|
Size: 50,
|
||||||
OrderId: orderIds,
|
OrderId: orderIds,
|
||||||
StartIndex: nextStartIndex,
|
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 == "" {
|
if v.VendorMainId == "" {
|
||||||
continue
|
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], "删除主商品")...)
|
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "删除主商品")...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user