- GoodsOrder添加DiscountMoney

This commit is contained in:
gazebo
2019-09-06 17:25:36 +08:00
parent b10ed6d97d
commit f3a99cf2cd
4 changed files with 16 additions and 5 deletions

View File

@@ -27,6 +27,7 @@ type GoodsOrder struct {
SalePrice int64 `json:"salePrice"` // 售卖价
ActualPayPrice int64 `json:"actualPayPrice"` // 单位为分 顾客实际支付
TotalShopMoney int64 `json:"totalShopMoney"` // 应结金额-第三方平台结算给京西的金额(包括了所有的补贴,扣除)
DiscountMoney int64 `json:"discountMoney"` // 订单级优惠金额
PmSubsidyMoney int64 `json:"pmSubsidyMoney"` // 平台活动补贴(订单主体活动补贴+订单单条sku补贴1+
DistanceFreightMoney int64 `json:"distanceFreightMoney"` // 商户承担的远距离配送费(当前只有京东到家有值)
WaybillTipMoney int64 `json:"waybillTipMoney"` // 京西加的平台配送小费

View File

@@ -100,7 +100,9 @@ func (p *PurchaseHandler) GetOrder4PartRefund(vendorOrderID string) (order *mode
order = p.Map2Order(result1)
if err2 == nil {
order.Skus = p.partRefund2OrderDetailSkuList(utils.Interface2String(result2["order_id"]), result2["order_detail"])
order.Skus = append(order.Skus, getZengSkus(vendorOrderID, result1)...)
giftSkus, discountMoney := getZengSkus(vendorOrderID, result1)
order.DiscountMoney = discountMoney
order.Skus = append(order.Skus, giftSkus...)
order.ActualPayPrice = utils.MustInterface2Int64(result2["user_fee"])
jxutils.RefreshOrderSkuRelated(order)
} else if err2Ext, ok := err2.(*utils.ErrorWithCode); !ok || err2Ext.IntCode() != ebaiapi.ErrOrderIsNotPartRefund {
@@ -112,10 +114,11 @@ func (p *PurchaseHandler) GetOrder4PartRefund(vendorOrderID string) (order *mode
return order, err
}
func getZengSkus(orderID string, orderMan map[string]interface{}) (skus []*model.OrderSku) {
func getZengSkus(orderID string, orderMan map[string]interface{}) (skus []*model.OrderSku, discountMoney int64) {
discounts, _ := orderMan["discount"].([]interface{})
for _, v := range discounts {
discount := v.(map[string]interface{})
discountMoney += utils.Interface2Int64WithDefault(discount["fee"], 0)
if utils.Interface2String(discount["type"]) == ebaiapi.OrderSkuDiscountTypeZeng {
sku := &model.OrderSku{
VendorOrderID: orderID,
@@ -129,7 +132,7 @@ func getZengSkus(orderID string, orderMan map[string]interface{}) (skus []*model
skus = append(skus, sku)
}
}
return skus
return skus, discountMoney
}
func (p *PurchaseHandler) partRefund2OrderDetailSkuList(orderID string, orderDetail2 interface{}) (skuList []*model.OrderSku) {
@@ -247,7 +250,9 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
// }
order.Skus = append(order.Skus, sku)
}
order.Skus = append(order.Skus, getZengSkus(vendorOrderID, orderData)...)
giftSkus, discountMoney := getZengSkus(vendorOrderID, orderData)
order.DiscountMoney = discountMoney
order.Skus = append(order.Skus, giftSkus...)
jxutils.RefreshOrderSkuRelated(order)
return order
}

View File

@@ -201,7 +201,11 @@ func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
}
order.ConsigneeLng = jxutils.StandardCoordinate2Int(originalLng)
order.ConsigneeLat = jxutils.StandardCoordinate2Int(originalLat)
// discounts := result["discount"].(map[string]interface{})
discounts, _ := result["discount"].(map[string]interface{})
for _, v := range discounts {
discount := v.(map[string]interface{})
order.DiscountMoney += utils.Interface2Int64WithDefault(discount["discountPrice"], 0)
}
for _, product2 := range result["product"].([]interface{}) {
product := product2.(map[string]interface{})
sku := &model.OrderSku{

View File

@@ -153,6 +153,7 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
panic(fmt.Sprintf("mtwm Map2Order vendorID:%s failed with error:%v", vendorOrderID, err))
}
for _, extra := range extraList {
order.DiscountMoney += jxutils.StandardPrice2Int(extra.ReduceFee)
if extra.Type == mtwmapi.ExtrasPromotionTypeTaoCanZeng || extra.Type == mtwmapi.ExtrasPromotionTypeManZeng {
sku := &model.OrderSku{
VendorOrderID: order.VendorOrderID,