From f97ae49945c99700c143ff4091f6ec4e4d1d0f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 24 Jul 2020 18:15:02 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E9=97=A8=E5=BA=97=E5=8F=91=E5=8D=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch.go | 22 +---------------- .../jxcallback/scheduler/defsch/defsch_ext.go | 24 +++++++++++++++++-- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 833cb763c..ab4be842b 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -726,28 +726,8 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf if !savedOrderInfo.isDeliveryCompetition { globals.SugarLogger.Debugf("createWaybillOn3rdProviders orderID:%s门店没有设置配送竞争", order.VendorOrderID) } - //TODO 2020-07-21 发单时间要在门店的营业时间内 - if savedOrderInfo.storeDetail.OpenTime1 != 0 && savedOrderInfo.storeDetail.CloseTime1 != 0 { - time1 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime1, time.Now()) - time2 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime1, time.Now()) - if time.Now().Sub(time1) < 0 || time.Now().Sub(time2) > 0 { - if savedOrderInfo.storeDetail.OpenTime2 != 0 && savedOrderInfo.storeDetail.CloseTime2 != 0 { - time3 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime2, time.Now()) - time4 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime2, time.Now()) - if time.Now().Sub(time3) < 0 || time.Now().Sub(time4) > 0 { - partner.CurOrderManager.OnOrderMsg(order, "自动创建三方运单失败", "不在门店营业时间范围内!") - globals.SugarLogger.Warnf("createWaybillOn3rdProviders return orderID: %s,不在门店营业时间范围内1!", order.VendorOrderID) - return fmt.Errorf("不在门店营业时间范围内!") - } - } else { - partner.CurOrderManager.OnOrderMsg(order, "自动创建三方运单失败", "不在门店营业时间范围内!") - globals.SugarLogger.Warnf("createWaybillOn3rdProviders return orderID: %s,不在门店营业时间范围内2!", order.VendorOrderID) - return fmt.Errorf("不在门店营业时间范围内!") - } - } - } globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, status:%d, maxDeliveryFee:%d, excludeBill:%v", order.VendorOrderID, order.Status, maxDeliveryFee, excludeBill) - if err = s.canOrderCreateWaybillNormally(order); err == nil { + if err = s.canOrderCreateWaybillNormally(order, savedOrderInfo); err == nil { if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 { if savedOrderInfo.retryCount <= maxWaybillRetryCount { savedOrderInfo.isNeedCreate3rdWaybill = true diff --git a/business/jxcallback/scheduler/defsch/defsch_ext.go b/business/jxcallback/scheduler/defsch/defsch_ext.go index 9acf53a29..8dd8af124 100644 --- a/business/jxcallback/scheduler/defsch/defsch_ext.go +++ b/business/jxcallback/scheduler/defsch/defsch_ext.go @@ -81,12 +81,32 @@ func (s *DefScheduler) SelfDeliveringAndUpdateStatus(ctx *jxcontext.Context, ven return err } -func (s *DefScheduler) canOrderCreateWaybillNormally(order *model.GoodsOrder) (err error) { +func (s *DefScheduler) canOrderCreateWaybillNormally(order *model.GoodsOrder, savedOrderInfo *WatchOrderInfo) (err error) { if !(order.LockStatus != model.OrderStatusLocked && order.Status >= model.OrderStatusFinishedPickup && order.Status < model.OrderStatusEndBegin) { err = fmt.Errorf("当前订单%s没有处于拣货完成且没有结束没有锁定的订单才能进行召唤配送操作", order.VendorOrderID) } else if model.IsOrderHaveWaybill(order) { err = fmt.Errorf("当前订单%s已经有了有效的承运人%s了", order.VendorOrderID, jxutils.GetVendorName(order.WaybillVendorID)) } + if savedOrderInfo != nil { + //TODO 2020-07-21 发单时间要在门店的营业时间内 + if savedOrderInfo.storeDetail.OpenTime1 != 0 && savedOrderInfo.storeDetail.CloseTime1 != 0 { + time1 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime1, time.Now()) + time2 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime1, time.Now()) + if time.Now().Sub(time1) < 0 || time.Now().Sub(time2) > 0 { + if savedOrderInfo.storeDetail.OpenTime2 != 0 && savedOrderInfo.storeDetail.CloseTime2 != 0 { + time3 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime2, time.Now()) + time4 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime2, time.Now()) + if time.Now().Sub(time3) < 0 || time.Now().Sub(time4) > 0 { + globals.SugarLogger.Warnf("createWaybillOn3rdProviders return orderID: %s,不在门店营业时间范围内1!", order.VendorOrderID) + return fmt.Errorf("不在门店营业时间范围内!") + } + } else { + globals.SugarLogger.Warnf("createWaybillOn3rdProviders return orderID: %s,不在门店营业时间范围内2!", order.VendorOrderID) + return fmt.Errorf("不在门店营业时间范围内!") + } + } + } + } return err } @@ -112,7 +132,7 @@ func (s *DefScheduler) isPossibleSwitch2SelfDelivery(order *model.GoodsOrder) (e func (s *DefScheduler) CreateWaybillOnProviders4SavedOrder(ctx *jxcontext.Context, savedOrderInfo *WatchOrderInfo, courierVendorIDs, excludeCourierVendorIDs []int, forceCreate bool, maxDeliveryFee int64) (bills []*model.Waybill, err error) { order := savedOrderInfo.order if !forceCreate { - err = s.canOrderCreateWaybillNormally(order) + err = s.canOrderCreateWaybillNormally(order, nil) } if err == nil { if forceCreate { From 6e84869b9a4d52e732c586a58b29106187070060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 09:04:29 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=86=8D=E6=AC=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync.go | 72 ++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index 0e8afaca8..19dd6dfd9 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -1116,45 +1116,45 @@ func (v *VendorSync) SyncJdsStoresSkus(ctx *jxcontext.Context, storeIDs []int, i } func syncJdsStoreStock(ctx *jxcontext.Context, db *dao.DaoDB, parentTask tasksch.ITask, storeSkus []*model.StoreSkuBind, storeMap *model.StoreMap, isAsync, isContinueWhenError bool) (err error) { - for _, storeSku := range storeSkus { - stock := 0 - storeSku2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{storeSku.SkuID}) - if storeSku.JdsID != 0 { - if len(storeSku2) > 0 { - if storeSku2[0].Status == model.StoreSkuBindStatusNormal { - stock = 9999 - } - if storeMap.VendorStoreID != "" { - err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, stock, utils.Str2Int(storeMap.VendorStoreID)) - } - } else { - err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, 0, utils.Str2Int(storeMap.VendorStoreID)) - } - } - } - // task := tasksch.NewParallelTask("syncJdsStoreStock", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError).SetParallelCount(1).SetBatchSize(20), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // storeSku := batchItemList[0].(*model.StoreSkuBind) - // stock := 0 - // storeSku2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{storeSku.SkuID}) - // if storeSku.JdsID != 0 { - // if len(storeSku2) > 0 { - // if storeSku2[0].Status == model.StoreSkuBindStatusNormal { - // stock = 9999 - // } - // if storeMap.VendorStoreID != "" { - // err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, stock, utils.Str2Int(storeMap.VendorStoreID)) - // } - // } else { - // err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, 0, utils.Str2Int(storeMap.VendorStoreID)) + // for _, storeSku := range storeSkus { + // stock := 0 + // storeSku2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{storeSku.SkuID}) + // if storeSku.JdsID != 0 { + // if len(storeSku2) > 0 { + // if storeSku2[0].Status == model.StoreSkuBindStatusNormal && storeSku.Status == model.StoreSkuBindStatusNormal { + // stock = 9999 // } + // if storeMap.VendorStoreID != "" { + // err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, stock, utils.Str2Int(storeMap.VendorStoreID)) + // } + // } else { + // err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, 0, utils.Str2Int(storeMap.VendorStoreID)) // } - // return retVal, err - // }, storeSkus) - // tasksch.HandleTask(task, parentTask, true).Run() - // if !isAsync { - // _, err = task.GetResult(0) + // } // } + task := tasksch.NewParallelTask("syncJdsStoreStock", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError).SetParallelCount(1), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeSku := batchItemList[0].(*model.StoreSkuBind) + stock := 0 + storeSku2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{storeSku.SkuID}) + if storeSku.JdsID != 0 { + if len(storeSku2) > 0 { + if storeSku2[0].Status == model.StoreSkuBindStatusNormal && storeSku.Status == model.StoreSkuBindStatusNormal { + stock = 9999 + } + if storeMap.VendorStoreID != "" { + err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, stock, utils.Str2Int(storeMap.VendorStoreID)) + } + } else { + err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, 0, utils.Str2Int(storeMap.VendorStoreID)) + } + } + return retVal, err + }, storeSkus) + tasksch.HandleTask(task, parentTask, true).Run() + if !isAsync { + _, err = task.GetResult(0) + } return err } From 39a9ac2950a8b8e82553dac7ddc2c57e158f91b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 10:05:46 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index d07b1ba47..fa57e4ba3 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -290,8 +290,7 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao } } - order.ConsigneeName = utils.LimitUTF8StringLen2(order.ConsigneeName, 32) - order.ConsigneeAddress = utils.LimitUTF8StringLen2(order.ConsigneeAddress, 255) + filterOrderInfo(order) created, _, err2 := db.Db.ReadOrCreate(order, "VendorOrderID", "VendorID") if err = err2; err == nil { originalOrder := &model.GoodsOrderOriginal{ @@ -321,6 +320,12 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao return isDuplicated, err } +func filterOrderInfo(order *model.GoodsOrder) { + order.ConsigneeName = utils.LimitUTF8StringLen2(order.ConsigneeName, 32) + order.ConsigneeAddress = utils.LimitUTF8StringLen2(order.ConsigneeAddress, 255) + order.ConsigneeAddress = strings.ReplaceAll(order.ConsigneeAddress, "·", "") +} + func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db *dao.DaoDB, storePayPercentage, changePriceType int) (err error) { globals.SugarLogger.Debugf("updateOrderSkuOtherInfo orderID:%s, VendorStoreID:%s", order.VendorOrderID, order.VendorStoreID) jxStoreID := jxutils.GetShowStoreIDFromOrder(order) From 2d725a7e3af1e0b260eb71ad245e1a5cbe25c3b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 12:07:12 +0800 Subject: [PATCH 04/16] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 9 +++++++-- business/partner/purchase/jd/order.go | 7 +++++-- business/partner/purchase/jdshop/store_sku.go | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 553638b66..739ef94a4 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -297,8 +297,13 @@ func formalizeStoreSkuList(inSkuList []*dao.StoreSkuSyncInfo) []*dao.StoreSkuSyn skuItem.SkuName = jxutils.ComposeSkuNameSync(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0, skuItem.ExPrefix, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd) skuItem.SkuNameOrigin = jxutils.ComposeSkuNameOriginal(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0) if skuItem.ImgWatermark != "" { - downLoad, _ := uploadImgStandard(skuItem.ImgWatermark) - skuItem.ImgMix = jxutils.MixWatermarkImg(downLoad, skuItem.ImgOrigin, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd) + if utils.Time2Date(time.Now().Add(6*time.Hour)).Sub(*skuItem.ExPrefixBegin) >= 0 && utils.Time2Date(time.Now()).Sub(*skuItem.ExPrefixEnd) <= 0 { + downLoad, _ := uploadImgStandard(skuItem.ImgWatermark) + skuItem.ImgMix = jxutils.MixWatermarkImg(downLoad, skuItem.ImgOrigin, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd) + } + if utils.Time2Date(time.Now().Add(6*time.Hour)).Sub(*skuItem.ExPrefixEnd) > 0 { + skuItem.ImgMix = "" + } } } } diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 57c14ba0c..2a4bf07f7 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,17 +159,20 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - stores, _ := dao.GetStoreList(dao.GetDB(), []int{order.StoreID}, nil, nil, nil, "") + stores, _ := dao.GetStoreList(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, nil, nil, "") if len(stores) > 0 { if stores[0].PayPercentage <= 50 { - order.NewEarningPrice = order.TotalShopMoney * int64((100 - stores[0].PayPercentage/2)) / 100 + order.NewEarningPrice = orderSettlement.SettlementAmount * int64((100 - stores[0].PayPercentage/2)) / 100 } else { order.NewEarningPrice = order.EarningPrice } + } else { + globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) } } else { order.NewEarningPrice = order.EarningPrice } + globals.SugarLogger.Debugf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, order.NewEarningPrice, jxutils.GetSaleStoreIDFromOrder(order)) } } diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 7bbf19c26..911648a78 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -659,7 +659,7 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j } attrBzq := &jdshopapi.CreateSkuParamAttrs{ AttrID: utils.Int2Str(attrIDs["保质期"]), - AttrValues: []string{"5"}, + AttrValues: []string{"5天"}, } attrsProp = append(attrsProp, attrZctj) attrsProp = append(attrsProp, attrJhl) From 8b8289237616152d8c72513d2b7548db41a750c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 13:34:55 +0800 Subject: [PATCH 05/16] c --- business/partner/purchase/jd/order.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 2a4bf07f7..6d5fa4f3d 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,7 +159,8 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - stores, _ := dao.GetStoreList(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, nil, nil, "") + order2, _ := dao.GetSimpleOrder(dao.GetDB(), order.VendorOrderID) + stores, _ := dao.GetStoreList(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order2)}, nil, nil, nil, "") if len(stores) > 0 { if stores[0].PayPercentage <= 50 { order.NewEarningPrice = orderSettlement.SettlementAmount * int64((100 - stores[0].PayPercentage/2)) / 100 From b3b5077b9467d42bdc1c759ad3fd212f03c8826b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 14:21:08 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/scheduler/defsch/defsch.go | 6 ++++++ business/jxutils/jxutils.go | 6 +++++- business/partner/purchase/jd/order.go | 7 +------ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index ab4be842b..fca8bea4b 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -1177,6 +1177,12 @@ func (s *DefScheduler) updateOrderByBill(order *model.GoodsOrder, bill *model.Wa } else { order.WaybillVendorID = bill.WaybillVendorID order.VendorWaybillID = bill.VendorWaybillID + if bill.Status == model.WaybillStatusDelivered { + stores, _ := dao.GetStoreList(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, nil, nil, "") + if len(stores) > 0 { + jxutils.RefreshOrderEarningPrice2(order, stores[0].PayPercentage) + } + } } if revertStatus { order.Status = model.OrderStatusFinishedPickup diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index c12e1cfac..41d5e9604 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -590,7 +590,11 @@ func RefreshOrderSkuRelated(order *model.GoodsOrder) *model.GoodsOrder { func RefreshOrderEarningPrice2(order *model.GoodsOrder, payPercentage int) *model.GoodsOrder { if payPercentage <= 50 { - order.NewEarningPrice = order.TotalShopMoney * int64((100 - payPercentage/2)) / 100 + if order.VendorID == model.VendorIDJDShop || order.VendorID == model.VendorIDJX { + order.NewEarningPrice = order.TotalShopMoney * int64((100 - payPercentage/2)) / 100 + } else { + order.NewEarningPrice = order.TotalShopMoney * int64((100 - payPercentage)) / 100 + } } else { order.NewEarningPrice = order.EarningPrice } diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 6d5fa4f3d..e74e245af 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -162,18 +162,13 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order2, _ := dao.GetSimpleOrder(dao.GetDB(), order.VendorOrderID) stores, _ := dao.GetStoreList(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order2)}, nil, nil, nil, "") if len(stores) > 0 { - if stores[0].PayPercentage <= 50 { - order.NewEarningPrice = orderSettlement.SettlementAmount * int64((100 - stores[0].PayPercentage/2)) / 100 - } else { - order.NewEarningPrice = order.EarningPrice - } + jxutils.RefreshOrderEarningPrice2(order, stores[0].PayPercentage) } else { globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) } } else { order.NewEarningPrice = order.EarningPrice } - globals.SugarLogger.Debugf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, order.NewEarningPrice, jxutils.GetSaleStoreIDFromOrder(order)) } } From 7f852f1c49f4f1230f6af27cf793cb1e6cd53cbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 14:45:01 +0800 Subject: [PATCH 07/16] loadstoredetail --- business/jxcallback/orderman/order.go | 8 ++++++++ business/jxcallback/scheduler/defsch/defsch.go | 6 +++--- business/partner/partner.go | 1 + business/partner/purchase/jd/order.go | 8 ++++---- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index fa57e4ba3..72fdede0b 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -607,6 +607,14 @@ func (c *OrderManager) loadOrderSku(db *dao.DaoDB, vendorOrderID string, vendorI return orderSkus } +func (c *OrderManager) LoadStoreDetail(storeID, vendorID int) (storeDetail *dao.StoreDetail, err error) { + var ( + db = dao.GetDB() + ) + storeDetail, err = dao.GetStoreDetail(db, storeID, vendorID) + return storeDetail, err +} + func (c *OrderManager) loadOrder(vendorOrderID, vendorOrderID2 string, vendorID int) (order *model.GoodsOrder, err error) { db1 := dao.GetDB() db := db1.Db diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index fca8bea4b..312212392 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -1178,9 +1178,9 @@ func (s *DefScheduler) updateOrderByBill(order *model.GoodsOrder, bill *model.Wa order.WaybillVendorID = bill.WaybillVendorID order.VendorWaybillID = bill.VendorWaybillID if bill.Status == model.WaybillStatusDelivered { - stores, _ := dao.GetStoreList(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, nil, nil, "") - if len(stores) > 0 { - jxutils.RefreshOrderEarningPrice2(order, stores[0].PayPercentage) + storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order), order.VendorID) + if storeDetail != nil { + jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) } } } diff --git a/business/partner/partner.go b/business/partner/partner.go index 8be8aa7a4..bd4e9d041 100644 --- a/business/partner/partner.go +++ b/business/partner/partner.go @@ -105,6 +105,7 @@ type IOrderManager interface { UpdateOrderStatusAndDeliveryFlag(order *model.GoodsOrder) (err error) UpdateOrderFields(order *model.GoodsOrder, fieldList []string) (err error) + LoadStoreDetail(storeID, vendorID int) (storeDetail *dao.StoreDetail, err error) LoadWaybill(vendorWaybillID string, waybillVendorID int) (bill *model.Waybill, err error) OnOrderComments(orderCommentList []*model.OrderComment) (err error) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index e74e245af..68260a8d3 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,10 +159,10 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - order2, _ := dao.GetSimpleOrder(dao.GetDB(), order.VendorOrderID) - stores, _ := dao.GetStoreList(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order2)}, nil, nil, nil, "") - if len(stores) > 0 { - jxutils.RefreshOrderEarningPrice2(order, stores[0].PayPercentage) + order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) + storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) + if storeDetail != nil { + jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) } else { globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) } From 26071026d73bd79c9b70f725e617c694a551f45c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 14:53:27 +0800 Subject: [PATCH 08/16] jj --- business/partner/purchase/jd/order.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 68260a8d3..17752bc26 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,13 +159,13 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) - storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) - if storeDetail != nil { - jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) - } else { - globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) - } + // order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) + // storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) + // if storeDetail != nil { + // jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) + // } else { + // globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) + // } } else { order.NewEarningPrice = order.EarningPrice } From 3104d46d807ef1b5eea23911ec05bd4bcc11b6ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 15:05:57 +0800 Subject: [PATCH 09/16] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9newearnningprice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jd/order.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 17752bc26..6d2c4ed92 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,13 +159,13 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - // order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) - // storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) - // if storeDetail != nil { - // jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) - // } else { - // globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) - // } + order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) + storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) + if storeDetail != nil && order2 != nil { + jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) + } else { + globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) + } } else { order.NewEarningPrice = order.EarningPrice } From 9e5f6d3aa829d719ee33820fc85b3210b05533ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 15:46:40 +0800 Subject: [PATCH 10/16] jj --- business/partner/purchase/jd/order.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 6d2c4ed92..d7ae42974 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,13 +159,13 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) - storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) - if storeDetail != nil && order2 != nil { - jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) - } else { - globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) - } + // order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) + // storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) + // if storeDetail != nil && order2 != nil { + // jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) + // } else { + // globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) + // } } else { order.NewEarningPrice = order.EarningPrice } From ff306346c3617b81f37fec2962b6856412bc0862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 15:58:05 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jd/order.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index d7ae42974..d6b301726 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,13 +159,15 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - // order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) - // storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) - // if storeDetail != nil && order2 != nil { - // jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) - // } else { - // globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) - // } + order2, err := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) + if order2 != nil && err == nil { + storeDetail, err := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) + if storeDetail != nil && err == nil { + jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) + } else { + globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) + } + } } else { order.NewEarningPrice = order.EarningPrice } From dcff8c7aca0c12c62a23ec54e88f801f15ad930e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 16:25:19 +0800 Subject: [PATCH 12/16] jj --- business/partner/purchase/jd/order.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index d6b301726..cb0f1090d 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,15 +159,15 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - order2, err := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) - if order2 != nil && err == nil { - storeDetail, err := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) - if storeDetail != nil && err == nil { - jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) - } else { - globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) - } - } + // order2, err := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) + // if order2 != nil && err == nil { + // storeDetail, err := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) + // if storeDetail != nil && err == nil { + // jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) + // } else { + // globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) + // } + // } } else { order.NewEarningPrice = order.EarningPrice } From bd75b84d964fd949611eb40c421acdf9d949f227 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 16:27:36 +0800 Subject: [PATCH 13/16] jj --- business/partner/purchase/jd/order.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index cb0f1090d..d6b301726 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -159,15 +159,15 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney if order.TotalShopMoney > 0 { - // order2, err := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) - // if order2 != nil && err == nil { - // storeDetail, err := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) - // if storeDetail != nil && err == nil { - // jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) - // } else { - // globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) - // } - // } + order2, err := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID) + if order2 != nil && err == nil { + storeDetail, err := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(order2), order.VendorID) + if storeDetail != nil && err == nil { + jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage) + } else { + globals.SugarLogger.Warnf("updateOrderBySettleMent,%v,%v,%v", order.VendorOrderID, orderSettlement.SettlementAmount) + } + } } else { order.NewEarningPrice = order.EarningPrice } From bc1ce19c466e4a6ac85c8f23919a490ccd7c1f85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 16:52:09 +0800 Subject: [PATCH 14/16] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/model/order.go b/business/model/order.go index a1a3cd677..e608673c2 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -107,6 +107,7 @@ type GoodsOrder struct { FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` //物料配送门店 EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` //物料配送的出库单号 AddressID int64 `orm:"column(address_id)" json:"addressID"` //配送地址ID + EarningType int `json:"earningType"` //订单结算方式,2为扣点,1为报价 // 以下只是用于传递数据 OriginalData string `orm:"-" json:"-"` From 4a8d13c5c169b8d16bce98ea789554680243bcb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 17:19:07 +0800 Subject: [PATCH 15/16] =?UTF-8?q?=E7=BB=93=E7=AE=97=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 21 +++++++++++++++++++ business/model/order.go | 3 +++ business/partner/purchase/jx/localjx/order.go | 9 ++++++++ 3 files changed, 33 insertions(+) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 72fdede0b..7bb29ce3f 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -508,6 +508,11 @@ func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db *dao.Dao order.JxStoreID = storeDetail.Store.ID payPercentage = storeDetail.PayPercentage changePriceType = int(storeDetail.ChangePriceType) + if payPercentage < 50 { + order.EarningType = model.EarningTypePoints + } else { + order.EarningType = model.EarningTypeQuote + } } if err = c.updateOrderSkuOtherInfo(order, db, payPercentage, changePriceType); err == nil { jxutils.RefreshOrderSkuRelated(order) @@ -1152,6 +1157,16 @@ func result2Orders(ctx *jxcontext.Context, result *jdshopapi.AllOrdersResult) (o } else { globals.SugarLogger.Errorf("未知的京东商城订单状态!status : %v", jdsOrder.OrderStatus) } + + //结算类型 + storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) + if storeDetail != nil { + if storeDetail.PayPercentage < 50 { + order.EarningType = model.EarningTypePoints + } else { + order.EarningType = model.EarningTypeQuote + } + } setJdsOrderSeq(order) for _, v := range jdsOrder.OrderItems { sku := &model.OrderSku{ @@ -1295,6 +1310,12 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) } } } + //结算类型 + if stores[0].PayPercentage < 50 { + order.EarningType = model.EarningTypePoints + } else { + order.EarningType = model.EarningTypeQuote + } } else { return "", fmt.Errorf("未查询到该门店对应的平台信息!门店:[%v]", order.StoreID) } diff --git a/business/model/order.go b/business/model/order.go index e608673c2..f2176f548 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -21,6 +21,9 @@ const ( RefundStatusNo = 0 RefundStatusYes = 1 RefundStatusFailed = 2 + + EarningTypeQuote = 1 //报价模式 + EarningTypePoints = 2 //扣点模式 ) var ( diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index a9283f3b8..56315d974 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -110,6 +110,7 @@ type JxOrderInfo struct { StoreName string `json:"storeName"` Weight int `json:"weight"` FromStoreID int `json:"fromStoreID"` + EarningType int `json:"earningType"` } type DeliveryTimeItem struct { @@ -481,6 +482,13 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 return nil, nil, fmt.Errorf("当前送货地址不在门店%s的配送范围", storeDetail.Name) } + //结算类型 + if storeDetail.PayPercentage < 50 { + jxOrder.EarningType = model.EarningTypePoints + } else { + jxOrder.EarningType = model.EarningTypeQuote + } + // 营业状态及时间检查 if storeDetail.Status != model.StoreStatusOpened { // model.StoreStatusDisabled { return nil, nil, fmt.Errorf("门店:%s状态是:%s", storeDetail.Name, model.StoreStatusName[storeDetail.Status]) @@ -820,6 +828,7 @@ func jxOrder2GoodsOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, deliveryAd DeliveryType: model.OrderDeliveryTypeStoreSelf, StatusTime: time.Now(), + EarningType: jxOrder.EarningType, } if userID == "" { order.UserID = ctx.GetUserID() From 863667b05df75ede4b6186b5e8439b738e7f8fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 27 Jul 2020 17:23:00 +0800 Subject: [PATCH 16/16] xx --- business/jxutils/jxutils.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index 41d5e9604..327f28075 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -589,7 +589,7 @@ func RefreshOrderSkuRelated(order *model.GoodsOrder) *model.GoodsOrder { } func RefreshOrderEarningPrice2(order *model.GoodsOrder, payPercentage int) *model.GoodsOrder { - if payPercentage <= 50 { + if order.EarningType == model.EarningTypePoints { if order.VendorID == model.VendorIDJDShop || order.VendorID == model.VendorIDJX { order.NewEarningPrice = order.TotalShopMoney * int64((100 - payPercentage/2)) / 100 } else {