diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index cf4fcb872..2125fbef4 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -642,8 +642,13 @@ func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db *dao.Dao err = nil } else { order.JxStoreID = storeDetail.Store.ID - payPercentage = storeDetail.PayPercentage changePriceType = int(storeDetail.ChangePriceType) + //判断订单结算比例 + if storeDetail.VendorPayPercentage != 0 { + payPercentage = storeDetail.VendorPayPercentage + } else { + payPercentage = storeDetail.PayPercentage + } if payPercentage < 50 { order.EarningType = model.EarningTypePoints } else { diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 638aeb7be..0a5e09f1f 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -687,6 +687,7 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID flagVendorOrderID = skuList[0].VendorOrderID } for k, v := range skuList { + storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, v.VendorID, "") if v.EarningPrice == 0 { v.EarningPrice = jxutils.CaculateSkuEarningPrice(v.ShopPrice, v.SalePrice, v.PayPercentage) } @@ -708,11 +709,7 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID //成都菜市 if beego.BConfig.RunMode == "prod" || beego.BConfig.RunMode == "beta" { if v.EarningType == model.EarningTypeQuote { - if v.VendorID == model.VendorIDJD && v.CityCode == 510100 { - saleInfo.RealEarningPrice += 0 - } else { - saleInfo.RealEarningPrice += v.ShopPrice * int64(v.Count) - } + saleInfo.RealEarningPrice += v.ShopPrice * int64(v.Count) } } else { if v.OrderPayPercentage == 100 { @@ -728,7 +725,7 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID saleInfo.EarningPrice = v.NewEarningPrice if beego.BConfig.RunMode == "prod" || beego.BConfig.RunMode == "beta" { if v.EarningType == model.EarningTypePoints { - if v.VendorID == model.VendorIDJD && v.CityCode == 510100 { + if storeDetail.VendorPayPercentage != 0 { saleInfo.RealEarningPrice += 0 } else { saleInfo.RealEarningPrice += v.NewEarningPrice @@ -745,7 +742,7 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID saleInfo.EarningPrice += v.NewEarningPrice if beego.BConfig.RunMode == "prod" || beego.BConfig.RunMode == "beta" { if v.EarningType == model.EarningTypePoints { - if v.VendorID == model.VendorIDJD && v.CityCode == 510100 { + if storeDetail.VendorPayPercentage != 0 { saleInfo.RealEarningPrice += 0 } else { // && v.VendorID != model.VendorIDJD && v.CityCode != 510100 diff --git a/business/jxutils/weixinmsg/weixinmsg.go b/business/jxutils/weixinmsg/weixinmsg.go index 89cbff530..24e7ab0e4 100644 --- a/business/jxutils/weixinmsg/weixinmsg.go +++ b/business/jxutils/weixinmsg/weixinmsg.go @@ -184,12 +184,7 @@ func getOrderDetailBrief(order *model.GoodsOrder) (brief string) { if order.EarningType == model.EarningTypePoints { price = order.ActualPayPrice } else { - stores, _ := dao.GetStoreList(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, []int{510100}, nil, nil, "") - if len(stores) > 0 { - price = order.ActualPayPrice - } else { - price = order.ShopPrice - } + price = order.ShopPrice } } sb.WriteString(jxutils.IntPrice2StandardString(price)) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 63cc3e978..68918dc66 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -18,7 +18,8 @@ type StoreDetail struct { VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"` VendorStoreName string `json:"vendorStoreName"` - VendorStatus int `json:"vendor_status"` // 取值同Store.Status + VendorStatus int `json:"vendor_status"` // 取值同Store.Status + VendorPayPercentage int `json:"vendorPayPercentage"` //平台结算比例 DeliveryFeeDeductionSill int `json:"deliveryFeeDeductionSill"` DeliveryFeeDeductionFee int `json:"deliveryFeeDeductionFee"` SyncStatus int8 `orm:"default(2)" json:"syncStatus"` @@ -100,7 +101,7 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID, vendorOrgCo SELECT t1.*, t2.vendor_store_id, t2.status vendor_status, t2.delivery_fee_deduction_sill, t2.delivery_fee_deduction_fee, t2.sync_status, t2.vendor_org_code, t2.price_percentage, t2.auto_pickup, t2.delivery_type, t2.delivery_competition, t2.is_sync, t2.vendor_store_name, t2.is_order, t2.yb_app_id, t2.yb_app_key, t2.yb_store_prefix, - t2.jds_street_code, t2.jds_street_name, t2.is_supply_goods, + t2.jds_street_code, t2.jds_street_name, t2.is_supply_goods, t2.vendor_pay_percentage, t3.value price_percentage_pack_str, t4.value freight_deduction_pack_str, province.name province_name,