From e2a620b30542dfd90f4a9c193ff0724717a65714 Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 2 Aug 2019 11:01:57 +0800 Subject: [PATCH 1/6] - jd.setSkuNameListPic --- business/partner/purchase/jd/sku.go | 82 ++++++++++++++----- business/partner/purchase/jd/sku_test.go | 2 +- .../partner/purchase/jd/store_sku2_test.go | 5 +- 3 files changed, 63 insertions(+), 26 deletions(-) diff --git a/business/partner/purchase/jd/sku.go b/business/partner/purchase/jd/sku.go index 16f52a6ce..244ddeb3a 100644 --- a/business/partner/purchase/jd/sku.go +++ b/business/partner/purchase/jd/sku.go @@ -595,32 +595,11 @@ func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, skuID int, vendorSkuID return nil, err } if len(skuList) > 0 { - jdSkuIDs := make([]int64, len(skuList)) batchSkuNameList := make([]*partner.SkuNameInfo, len(skuList)) for k, v := range skuList { batchSkuNameList[k] = vendorSku2Jx(v) - jdSkuIDs[k] = v.SkuID - } - imgMap := make(map[int64]*jdapi.ImgHandleQueryResult) - if imgList, err2 := api.JdAPI.QueryListBySkuIds(&jdapi.QueryListBySkuIdsParam{ - SkuIDs: jdSkuIDs, - }); err2 == nil { - for _, v := range imgList { - if imgMap[v.SkuID] == nil || imgMap[v.SkuID].IsMain < v.IsMain || imgMap[v.SkuID].ImgType < v.ImgType { - imgMap[v.SkuID] = v - } - } - } - for _, v := range batchSkuNameList { - jdSkuID := utils.Str2Int64(v.SkuList[0].VendorSkuID) - if imgInfo := imgMap[jdSkuID]; imgInfo != nil { - v.PictureList = []string{imgInfo.SourceImgURL} - } else { - // if imgList, err2 := api.JdAPI.GetSkuPageImageInfo(jdSkuID); err2 == nil && len(imgList) > 0 { - // v.PictureList = []string{imgList[0].Big} - // } - } } + setSkuNameListPic(batchSkuNameList) skuNameList = append(skuNameList, batchSkuNameList...) } if len(skuList) < param.PageSize { @@ -631,6 +610,65 @@ func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, skuID int, vendorSkuID return skuNameList, err } +func setSkuNameListPic(skuNameList []*partner.SkuNameInfo) []*partner.SkuNameInfo { + jdSkuIDs := make([]int64, len(skuNameList)) + for k, v := range skuNameList { + jdSkuIDs[k] = utils.Str2Int64(v.SkuList[0].VendorSkuID) + } + + imgMap := make(map[int64]*jdapi.ImgHandleQueryResult) + if imgList, err2 := api.JdAPI.QueryListBySkuIds(&jdapi.QueryListBySkuIdsParam{ + SkuIDs: jdSkuIDs, + }); err2 == nil { + for _, v := range imgList { + if v.ImgType == jdapi.ImgTypeMain { + imgResult := imgMap[v.SkuID] + if imgResult == nil || imgResult.IsMain < v.IsMain { + imgMap[v.SkuID] = v + } + } + } + } + + // 使用扒页面方式获取商品图片 + if false { + var leftJdSkuIDs []int64 + for _, v := range jdSkuIDs { + if imgMap[v] == nil { + leftJdSkuIDs = append(leftJdSkuIDs, v) + } + } + task := tasksch.NewParallelTask("jd setSkuNameListPic", nil, jxcontext.AdminCtx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + jdSkuID := batchItemList[0].(int64) + imgList, err := api.JdAPI.GetSkuPageImageInfo(jdSkuID) + if err == nil && len(imgList) > 0 { + retVal = [][]string{ + []string{utils.Int64ToStr(jdSkuID), imgList[0].Big}, + } + } + return retVal, err + }, leftJdSkuIDs) + task.Run() + if resultList, err := task.GetResult(0); err == nil { + for _, v := range resultList { + strList := v.([]string) + imgMap[utils.Str2Int64(strList[0])] = &jdapi.ImgHandleQueryResult{ + SourceImgURL: strList[1], + } + } + } + } + + // 设置商品图片 + for _, v := range skuNameList { + if imgResult := imgMap[utils.Str2Int64(v.SkuList[0].VendorSkuID)]; imgResult != nil { + v.PictureList = []string{imgResult.SourceImgURL} + } + } + return skuNameList +} + func vendorSku2Jx(vendorSku *jdapi.SkuMain) (skuName *partner.SkuNameInfo) { prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(vendorSku.SkuName) weight := int(vendorSku.Weight * 1000) diff --git a/business/partner/purchase/jd/sku_test.go b/business/partner/purchase/jd/sku_test.go index e3378e72e..831fd7d9f 100644 --- a/business/partner/purchase/jd/sku_test.go +++ b/business/partner/purchase/jd/sku_test.go @@ -66,7 +66,7 @@ func TestGetVendorCategories(t *testing.T) { } func TestGetSkus(t *testing.T) { - skuNameList, err := curPurchaseHandler.GetSkus(jxcontext.AdminCtx, 0, "", "") + skuNameList, err := curPurchaseHandler.GetSkus(jxcontext.AdminCtx, 0, "2023747677", "") t.Log(utils.Format4Output(skuNameList, false)) t.Log(len(skuNameList)) if err != nil { diff --git a/business/partner/purchase/jd/store_sku2_test.go b/business/partner/purchase/jd/store_sku2_test.go index 5d067beb3..0fc71b453 100644 --- a/business/partner/purchase/jd/store_sku2_test.go +++ b/business/partner/purchase/jd/store_sku2_test.go @@ -3,11 +3,10 @@ package jd import ( "testing" - "git.rosy.net.cn/jx-callback/business/partner" - "git.rosy.net.cn/jx-callback/business/partner/putils" - "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" + "git.rosy.net.cn/jx-callback/business/partner" + "git.rosy.net.cn/jx-callback/business/partner/putils" ) func TestGetStoreSkusBareInfo(t *testing.T) { From c0b6ae7de7df437df409abe81cf4db12540a574d Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 2 Aug 2019 13:10:48 +0800 Subject: [PATCH 2/6] =?UTF-8?q?-=20=E5=9C=A8=E4=BF=AE=E6=94=B9=E7=BE=8E?= =?UTF-8?q?=E5=9B=A2=E5=A4=96=E5=8D=96=E9=97=A8=E5=BA=97=E8=90=A5=E4=B8=9A?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=94=B1=E4=BA=8E=E9=85=8D=E9=80=81=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E9=99=90=E5=88=B6=E5=87=BA=E9=94=99=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E6=A0=B9=E6=8D=AE=E9=99=90=E5=88=B6=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E8=B0=83=E6=95=B4=E5=90=8E=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/mtwm/store.go | 55 ++++++++++++++++++++ business/partner/purchase/mtwm/store_test.go | 17 +++++- 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 50643480a..6444b41a7 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -2,6 +2,9 @@ package mtwm import ( "errors" + "math" + "regexp" + "strings" "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/baseapi/utils" @@ -21,6 +24,10 @@ const ( VendorStorePrefix = "美好菜市" ) +var ( + opTimeErrReg = regexp.MustCompile(`当前配送营业时间为:([\d:~,]*)`) +) + type tEbaiStoreInfo struct { model.Store VendorStoreID string `orm:"column(vendor_store_id)"` @@ -186,10 +193,58 @@ func (c *PurchaseHandler) UpdateStoreStatus(ctx *jxcontext.Context, storeID int, return err } +func errOpStr2Int16(str string) []int16 { + list := strings.Split(str, "~") + if len(list) >= 2 { + return []int16{jxutils.StrTime2JxOperationTime(list[0]+":00", 0), jxutils.StrTime2JxOperationTime(list[1]+":00", 2359)} + } + return nil +} + +func getOpTimeListFromErr(err error) (opTimeList []int16) { + if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == mtwmapi.ErrCodeOpFailed { + if result := opTimeErrReg.FindStringSubmatch(errExt.ErrMsg()); len(result) >= 2 { + timeStrList := strings.Split(result[1], ",") + for _, v := range timeStrList { + v = utils.TrimBlankChar(v) + if len(v) == len("00:00~02:00") { + opTimeList = append(opTimeList, errOpStr2Int16(v)...) + } + } + } + } + return opTimeList +} + +// 此函数只是简单实现,不支持区间切分,只做单一区间限制 +func constrainOpTimeList(opTimeList, validOpTimeList []int16) (newOpTimeList []int16) { + for k := 0; k < len(opTimeList); k += 2 { + beginTime := opTimeList[k] + endTime := opTimeList[k+1] + for k2 := 0; k2 < len(validOpTimeList); k2 += 2 { + beginTime2 := validOpTimeList[k2] + endTime2 := validOpTimeList[k2+1] + if beginTime >= beginTime2 && beginTime <= endTime2 { + newOpTimeList = append(newOpTimeList, beginTime) + newOpTimeList = append(newOpTimeList, int16(math.Min(float64(endTime), float64(endTime2)))) + } else if beginTime2 >= beginTime && beginTime2 <= endTime { + newOpTimeList = append(newOpTimeList, beginTime2) + newOpTimeList = append(newOpTimeList, int16(math.Min(float64(endTime), float64(endTime2)))) + } + } + } + return newOpTimeList +} + func (c *PurchaseHandler) UpdateStoreOpTime(ctx *jxcontext.Context, storeID int, vendorStoreID string, opTimeList []int16) (err error) { shippingTime := openTimeJX2Mtwm(opTimeList) if globals.EnableMtwmStoreWrite { err = api.MtwmAPI.PoiShipTimeUpdate(vendorStoreID, shippingTime) + if err != nil { + if validOpTimeList := getOpTimeListFromErr(err); len(validOpTimeList) > 0 { + err = api.MtwmAPI.PoiShipTimeUpdate(vendorStoreID, openTimeJX2Mtwm(constrainOpTimeList(opTimeList, validOpTimeList))) + } + } } return err } diff --git a/business/partner/purchase/mtwm/store_test.go b/business/partner/purchase/mtwm/store_test.go index 726fb8a74..48de8686e 100644 --- a/business/partner/purchase/mtwm/store_test.go +++ b/business/partner/purchase/mtwm/store_test.go @@ -10,7 +10,7 @@ import ( ) func TestReadStore(t *testing.T) { - store, err := new(PurchaseHandler).ReadStore(jxcontext.AdminCtx, "4351018") + store, err := curPurchaseHandler.ReadStore(jxcontext.AdminCtx, "4351018") if err != nil { t.Fatal(err) } @@ -18,8 +18,21 @@ func TestReadStore(t *testing.T) { } func TestUpdateStore(t *testing.T) { - err := new(PurchaseHandler).UpdateStore(nil, 100002, "test") + err := curPurchaseHandler.UpdateStore(nil, 100002, "test") if err != nil { t.Fatal(err) } } + +func TestConstrainOpTimeList(t *testing.T) { + timeList := constrainOpTimeList([]int16{830, 1800}, []int16{ + 0, + 200, + 930, + 1700, + }) + t.Log(utils.Format4Output(timeList, false)) + if timeList[0] != 930 || timeList[1] != 1700 { + t.Fatal("constrainOpTimeList failed") + } +} From 00e0106e9b4f1839bd62c5258a7625e81e03d4f3 Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 2 Aug 2019 14:29:48 +0800 Subject: [PATCH 3/6] + cms.printerStatusName --- business/jxstore/cms/cms.go | 2 ++ business/partner/partner.go | 24 ------------------------ business/partner/partner_printer.go | 28 ++++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index 8ec8cd923..6db9dab30 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -10,6 +10,7 @@ import ( "git.rosy.net.cn/jx-callback/business/auth2/authprovider/mobile" "git.rosy.net.cn/jx-callback/business/jxutils/msg" + "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -76,6 +77,7 @@ func InitServiceInfo(version string, buildTime time.Time, gitCommit string) { "storeMsgSendStatusName": model.StoreMsgSendStatusName, "shopChineseNames": model.ShopChineseNames, "printerVendorInfo": model.PrinterVendorInfo, + "printerStatusName": partner.PrinterStatusName, "purchaseVendorInfo": model.PurchaseVendorInfo, "afsReasonTypeName": model.AfsReasonTypeName, "afsAppealTypeName": model.AfsAppealTypeName, diff --git a/business/partner/partner.go b/business/partner/partner.go index d4a1150a4..7e3df1c82 100644 --- a/business/partner/partner.go +++ b/business/partner/partner.go @@ -26,36 +26,12 @@ const ( CancelWaybillReasonOther = 10 ) -const ( - PrinterStatusUnknown = 0 - PrinterStatusOffline = 1 - PrinterStatusOnlineOK = 2 - PrinterStatusOnlineAbnormal = 3 -) - const ( AfsApproveTypeRefund = 1 // 退款 AfsApproveTypeReturnGoods = 2 // 退货 AfsApproveTypeRefused = 3 // 驳回 ) -const ( - PrintResultSuccess = 0 - PrintResultNoPrinter = 1 -) - -type PrinterStatus struct { - PrintResult int `json:"printResult"` // 0:成功,1:没有配置网络打印机 - - // PrinterStatusUnknown = 0 - // PrinterStatusOffline = 1 - // PrinterStatusOnlineOK = 2 - // PrinterStatusOnlineAbnormal = 3 - PrinterStatus int `json:"printerStatus"` - Printed int `json:"printed"` // 已经打印的单数 - Waiting int `json:"waiting"` // 等待打印的单数,超过1一般不太正常 -} - const ( TimerTypeNoOverride = 0 // GetStatusActionConfig 返回表示不修改缺省配置 TimerTypeByPass = 1 diff --git a/business/partner/partner_printer.go b/business/partner/partner_printer.go index 59c896838..f0ea317db 100644 --- a/business/partner/partner_printer.go +++ b/business/partner/partner_printer.go @@ -7,6 +7,34 @@ import ( "git.rosy.net.cn/jx-callback/business/model" ) +const ( + PrinterStatusUnknown = 0 + PrinterStatusOffline = 1 + PrinterStatusOnlineOK = 2 + PrinterStatusOnlineAbnormal = 3 +) + +const ( + PrintResultSuccess = 0 // 成功 + PrintResultNoPrinter = 1 // 没有配置网络打印机 +) + +var ( + PrinterStatusName = map[int]string{ + PrinterStatusUnknown: "未知", + PrinterStatusOffline: "离线", + PrinterStatusOnlineOK: "正常", + PrinterStatusOnlineAbnormal: "异常", + } +) + +type PrinterStatus struct { + PrintResult int `json:"printResult"` + PrinterStatus int `json:"printerStatus"` + Printed int `json:"printed"` // 已经打印的单数 + Waiting int `json:"waiting"` // 等待打印的单数,超过1一般不太正常 +} + type BindPrinterResult struct { PrinterSN string `json:"printerSN"` PrinterKey string `json:"printerKey"` From 37b894e112fa0d836c3eb1ffe0fbccf0bc6c9777 Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 2 Aug 2019 14:40:58 +0800 Subject: [PATCH 4/6] =?UTF-8?q?+=20=E6=B7=BB=E5=8A=A0cms.autoSaleAt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/cms.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index 6db9dab30..9628db860 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -86,6 +86,7 @@ func InitServiceInfo(version string, buildTime time.Time, gitCommit string) { "actCreateTypeName": model.ActCreateTypeName, "storeAuditStatusName": model.StoreAuditStatusName, "configTypeList": model.ConfigTypeList, + "autoSaleAt": "23:00:00", }, } Init() From 7f40ee9963cd1c262c59f056bf72efdd84be23b0 Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 2 Aug 2019 14:46:52 +0800 Subject: [PATCH 5/6] - autoSaleAt set to 20:45:00 --- business/jxstore/cms/cms.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index 9628db860..f90d7750d 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -86,7 +86,7 @@ func InitServiceInfo(version string, buildTime time.Time, gitCommit string) { "actCreateTypeName": model.ActCreateTypeName, "storeAuditStatusName": model.StoreAuditStatusName, "configTypeList": model.ConfigTypeList, - "autoSaleAt": "23:00:00", + "autoSaleAt": "20:45:00", }, } Init() From 8518248080cba8664a93ea500e8c272d0d336db6 Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 2 Aug 2019 15:35:07 +0800 Subject: [PATCH 6/6] =?UTF-8?q?-=20=E9=A5=BF=E7=99=BE=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E8=BF=90=E5=8D=95=E5=8F=96=E6=B6=88=E5=90=8E=EF=BC=8C=E4=BB=A5?= =?UTF-8?q?=E5=BF=AB=E9=80=92=E8=B4=B9=E6=9C=80=E9=AB=9810=E5=85=83?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E5=8F=91=E4=B8=89=E6=96=B9=E8=BF=90=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch.go | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 6cd79d984..085127f6f 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -46,9 +46,11 @@ const ( time2Schedule3rdCarrierKey = "waitminute4mt" dingShiDaAheadTime = 30 * time.Minute // 定时达订单开始召唤配送的提前时间 - minAddWaybillTipMinute = 20 // 最少开始加小费分钟(距离拣货完成) - addWaybillTipGap = 15 // 加一元小费间隔的分钟数 - baseWaybillFee = 600 // 基本运费 + minAddWaybillTipMinute = 20 // 最少开始加小费分钟(距离拣货完成) + addWaybillTipGap = 15 // 加一元小费间隔的分钟数 + maxWaybillTipMoney = 400 // 最大小费 + baseWaybillFee = 600 // 基本运费 + ebaiCancelWaybillMaxFee = 1000 // 饿百取消运单最高运费 ) const ( @@ -222,7 +224,7 @@ func init() { }, TimeoutAction: func(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (err error) { if savedOrderInfo.storeDeliveryType == scheduler.StoreDeliveryTypeByStore { // 自配送商家使用 - return sch.createWaybillOn3rdProviders(savedOrderInfo, nil) + return sch.createWaybillOn3rdProviders(savedOrderInfo, 0, nil) } return nil }, @@ -244,7 +246,7 @@ func init() { savedOrderInfo.storeDeliveryType != scheduler.StoreDeliveryTypeByStore && savedOrderInfo.order.VendorID == bill.WaybillVendorID && savedOrderInfo.order.VendorID != model.VendorIDEBAI { // 非自配送商家使用 - return sch.createWaybillOn3rdProviders(savedOrderInfo, nil) + return sch.createWaybillOn3rdProviders(savedOrderInfo, 0, nil) } return nil }, @@ -268,7 +270,7 @@ func init() { savedOrderInfo.order.VendorID == bill.WaybillVendorID && savedOrderInfo.storeDeliveryType != scheduler.StoreDeliveryTypeByStore && order.VendorID == model.VendorIDEBAI { // 非自配送商家使用 - return sch.createWaybillOn3rdProviders(savedOrderInfo, nil) + return sch.createWaybillOn3rdProviders(savedOrderInfo, ebaiCancelWaybillMaxFee, nil) } return nil }, @@ -535,7 +537,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo // OrderStatusFinishedPickup状态的订单依赖于TIMER重新建运单 if bill.DeliveryFlag&model.WaybillDeliveryFlagMaskActiveCancel == 0 { if (order.Status >= model.OrderStatusFinishedPickup && order.Status < model.OrderStatusEndBegin) && (bill.WaybillVendorID != order.VendorID /* || bill.WaybillVendorID == model.VendorIDEBAI*/) { - s.createWaybillOn3rdProviders(savedOrderInfo, nil) + s.createWaybillOn3rdProviders(savedOrderInfo, 0, nil) } } } @@ -583,7 +585,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo // s.resetTimer(savedOrderInfo, bill, isPending) // s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID) // if order.WaybillVendorID == model.VendorIDUnknown { - // s.createWaybillOn3rdProviders(savedOrderInfo, nil) + // s.createWaybillOn3rdProviders(savedOrderInfo, 0, nil) // } default: s.resetTimer(savedOrderInfo, bill, isPending) @@ -614,17 +616,20 @@ func (s *DefScheduler) removeWaybillFromMap(savedOrderInfo *WatchOrderInfo, wayb } } -func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInfo, excludeBill *model.Waybill) (err error) { +func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInfo, maxDeliveryFee int64, excludeBill *model.Waybill) (err error) { order := savedOrderInfo.order - globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, status:%d, excludeBill:%v", order.VendorOrderID, order.Status, excludeBill) + globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, status:%d, maxDeliveryFee:%d, excludeBill:%v", order.VendorOrderID, order.Status, maxDeliveryFee, excludeBill) if order.VendorID == model.VendorIDELM { return nil } + if maxDeliveryFee == 0 { + maxDeliveryFee = s.getMaxDeliveryFee(savedOrderInfo) + } if err = s.canOrderCreateWaybillNormally(order); err == nil { if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 { if savedOrderInfo.retryCount <= maxWaybillRetryCount { savedOrderInfo.isNeedCreate3rdWaybill = true - if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, savedOrderInfo.GetWaybillVendorIDs(), false, 1000, 1000, s.getMaxDeliveryFee(savedOrderInfo)); err == nil { + if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, savedOrderInfo.GetWaybillVendorIDs(), false, 1000, 1000, maxDeliveryFee); err == nil { savedOrderInfo.retryCount++ } } else { @@ -1009,8 +1014,8 @@ func (s *DefScheduler) getWaybillTip(savedOrderInfo *WatchOrderInfo) (tipFee int if timeGap1 > 0 { timeGap := int64(timeGap1/(addWaybillTipGap*time.Minute)) + 1 tipFee = timeGap * 100 - if tipFee > 600 { - tipFee = 600 + if tipFee > maxWaybillTipMoney { + tipFee = maxWaybillTipMoney } } } @@ -1059,7 +1064,7 @@ func (s *DefScheduler) handleWaybillTip(savedOrderInfo *WatchOrderInfo) { partner.CurOrderManager.OnOrderMsg(order, vendorStatus, remark) } if savedOrderInfo.isNeedCreate3rdWaybill { - s.createWaybillOn3rdProviders(savedOrderInfo, nil) + s.createWaybillOn3rdProviders(savedOrderInfo, 0, nil) } } }