From b834cad438d7cbdb1ea8563a659f7f65f5a57a30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 21 Nov 2022 18:43:40 +0800 Subject: [PATCH] 1 --- business/jxcallback/orderman/order.go | 54 +++++++++++++++++++ business/jxstore/misc/misc.go | 6 +++ .../partner/purchase/tiktok_store/order.go | 12 ++++- 3 files changed, 71 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 4f1419910..29a734f20 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -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 + } + +} diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index e55f7ea9e..bcf452a91 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -191,6 +191,12 @@ func Init() { }, []string{ "22:00:00", }) + // 更新抖店订单的结算信息 + ScheduleTimerFunc("UpdateTiktokShopTotalMoney", func() { + orderman.UpdateTiktokShopTotalMoney() + }, []string{ + "03:35:00", + }) // 每分钟轮询一次,推送抖店骑手信息 ScheduleTimerFuncByInterval(func() { diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index e648747af..f8913c911 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -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, + }) +}