This commit is contained in:
邹宗楠
2022-11-21 18:43:40 +08:00
parent 06defa9c23
commit b834cad438
3 changed files with 71 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ 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"
@@ -2473,3 +2474,56 @@ func ExportOrderWithSku(ctx *jxcontext.Context, orders []*model.GoodsOrderExt) (
baseapi.SugarLogger.Debug("WriteToExcel: dataSuccess downloadURL: [%v]", downloadURL)
return downloadURL, err
}
// UpdateTiktokShopTotalMoney 定时任务更新抖店订单的平台结算
func UpdateTiktokShopTotalMoney() {
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 {
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 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,
})
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
}
}

View File

@@ -191,6 +191,12 @@ func Init() {
}, []string{
"22:00:00",
})
// 更新抖店订单的结算信息
ScheduleTimerFunc("UpdateTiktokShopTotalMoney", func() {
orderman.UpdateTiktokShopTotalMoney()
}, []string{
"03:35:00",
})
// 每分钟轮询一次,推送抖店骑手信息
ScheduleTimerFuncByInterval(func() {

View File

@@ -4,6 +4,7 @@ import (
"errors"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
order_getSettleBillDetailV3_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getSettleBillDetailV3/request"
order_logisticsAdd_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request"
order_orderDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_orderDetail/response"
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
@@ -172,7 +173,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
salePrice += sku.SalePrice
}
}
order.TotalShopMoney = utils.Float64TwoInt64(float64(salePrice) * 0.95) // 抖音平台扣点金额0.05
//order.TotalShopMoney = utils.Float64TwoInt64(float64(salePrice) * 0.95) // 抖音平台扣点金额0.05
// 预订单还是快速达
localStore, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), vendorStoreIdRelly, model.VendorIDDD, vendorOrgCode)
@@ -990,3 +991,12 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
}
// GetOrderTotalShopMoney 获取门店结算信息
func GetOrderTotalShopMoney(appOrgCode string, orderIds string, nextStartIndex string) (map[string]int64, string, error) {
return getAPI(appOrgCode, 0, "").GetSettleBillDetailV3(&order_getSettleBillDetailV3_request.OrderGetSettleBillDetailV3Param{
Size: 50,
OrderId: orderIds,
StartIndex: nextStartIndex,
})
}