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] =?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()