diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 5c8803991..5697d08ff 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -2655,25 +2655,45 @@ func ExportOrderWithSku(ctx *jxcontext.Context, orders []*model.GoodsOrderExt) ( } // UpdateTiktokShopTotalMoney 定时任务更新抖店订单的平台结算 -func UpdateTiktokShopTotalMoney() { - db := dao.GetDB() - var goodsOrders []*model.GoodsOrder +func UpdateTiktokShopTotalMoney(storeId int64, startTime, endTime time.Time) error { + var ( + db = dao.GetDB() + goodsOrders = make([]*model.GoodsOrder, 0, 0) + nextStartIndex = "" + errList = make([]string, 0, 0) + ) - globals.SugarLogger.Debugf("=============time:= %s", utils.Format4Output(time.Now(), false)) - 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, -50) - param := []interface{}{orderCreateTime, model.OrderStatusFinished, model.VendorIDDD, model.NO} - if err := dao.GetRows(db, &goodsOrders, sql, param...); err != nil { - globals.SugarLogger.Debugf("Update GoodsOrder Total shop money err %s", err) - return + sql := `SELECT g.* FROM goods_order g WHERE 1=1 ` + param := []interface{}{} + if storeId != 0 { + sql += `AND g.store_id = ?` + param = append(param, storeId) + } + if !utils.IsTimeZero(startTime) { + sql += ` AND g.order_created_at >= ? ` + param = append(param, startTime) + } + if !utils.IsTimeZero(endTime) { + sql += ` AND g.order_created_at <= ? ` + param = append(param, endTime) + } + if utils.IsTimeZero(startTime) && utils.IsTimeZero(endTime) { + orderCreateTime := time.Now().AddDate(0, 0, -50) + sql += ` AND g.order_created_at >= ? ` + param = append(param, orderCreateTime) + } + + sql += ` AND g.status = ? AND g.vendor_id = ? AND total_shop_money = ? ORDER BY g.order_created_at desc` + param = append(param, []interface{}{model.OrderStatusFinished, model.VendorIDDD, model.NO}...) + if err := dao.GetRows(db, &goodsOrders, sql, param...); err != nil { + return err } - nextStartIndex := "" for _, v := range goodsOrders { - globals.SugarLogger.Debugf("=============goods := %s", utils.Format4Output(goodsOrders, false)) + globals.SugarLogger.Debugf("=============测试打印: %s", v.VendorOrderID) orderDetail, err := tiktok_store.GetOrderDetail(v.VendorOrgCode, v.VendorOrderID) if err != nil { - globals.SugarLogger.Errorf("定时任务:查询订单详情错误,更新订单结算信息,[%s]", err) + errList = append(errList, fmt.Sprintf("详情错误orderID[%s],%v", v.VendorOrderID, err)) continue } @@ -2684,7 +2704,7 @@ func UpdateTiktokShopTotalMoney() { totalShopMoney, next, err := tiktok_store.GetOrderTotalShopMoney(v.VendorOrgCode, strings.Join(childrenOrderList, ","), nextStartIndex) if err != nil { - globals.SugarLogger.Errorf("获取平台订单异常 : %s", err) + errList = append(errList, fmt.Sprintf("结算错误orderID[%s],%v", v.VendorOrderID, err)) continue } nextStartIndex = next @@ -2703,10 +2723,11 @@ func UpdateTiktokShopTotalMoney() { } } if _, err = dao.UpdateEntity(db, v, "TotalShopMoney", "NewEarningPrice"); err != nil { - globals.SugarLogger.Errorf("更新本地订单结算信息错误 : %s", err) + errList = append(errList, fmt.Sprintf("修改本地结算错误orderID[%s],%v", v.VendorOrderID, err)) continue } } + return fmt.Errorf(strings.Join(errList, "|")) } // UpdateTaoSettleInfo 定时任务更新淘鲜达结算信息 diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index fa93ddbaa..de5d3719c 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -190,10 +190,15 @@ func Init() { }) // 更新抖店订单的结算信息 ScheduleTimerFunc("UpdateTiktokShopTotalMoney", func() { - globals.SugarLogger.Debugf("beego.BConfig.RunMode:%s", "===================================") - orderman.UpdateTiktokShopTotalMoney() + orderman.UpdateTiktokShopTotalMoney(0, utils.DefaultTimeValue, utils.DefaultTimeValue) }, []string{ - "11:00:00", + "07:00:00", + "09:00:00", + "15:00:00", + "19:00:00", + "22:00:00", + "02:00:00", + "05:00:00", }) /// 更新淘鲜达结算信息 diff --git a/controllers/jx_order.go b/controllers/jx_order.go index 7593aaf49..07586dc6a 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -1427,3 +1427,19 @@ func (c *OrderController) GetRiderLng() { return rider, "", err }) } + +// @Title 手动更新抖音门店结算信息 +// @Description 手动更新抖音门店结算信息 +// @Param token header string true "认证token" +// @Param storeId formData int false "门店id" +// @Param startTime formData string true "开始时间" +// @Param endTime formData string true "结束时间" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UpdateTiktokSettlement [post] +func (c *OrderController) UpdateTiktokSettlement() { + c.callUpdateTiktokSettlement(func(params *tOrderUpdateTiktokSettlementParams) (interface{}, string, error) { + err := orderman.UpdateTiktokShopTotalMoney(int64(params.StoreId), utils.Str2Time(params.StartTime), utils.Str2Time(params.EndTime)) + return nil, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 95a0cd539..b9564d1a7 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1637,6 +1637,15 @@ func init() { MethodParams: param.Make(), Filters: nil, Params: nil}) + // 更新门店结算信息 + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"], + web.ControllerComments{ + Method: "UpdateTiktokSettlement", + Router: `/UpdateTiktokSettlement`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"], web.ControllerComments{