diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 3179cc372..b23ac4788 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -218,7 +218,7 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao if _, _, err = db.Db.ReadOrCreate(originalOrder, "VendorOrderID", "VendorID"); err == nil { if created { sql := `INSERT INTO order_sku(vendor_order_id, vendor_id, count, vendor_sku_id, sku_id, jx_sku_id, sku_name, - shop_price, sale_price, weight, sku_type, promotion_type, order_created_at) VALUES` + shop_price, vendor_price, sale_price, weight, sku_type, promotion_type, order_created_at) VALUES` params := []interface{}{} for _, sku := range order.Skus { sql += "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)," @@ -228,7 +228,7 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao skuID = sku.SkuID } params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.VendorSkuID, skuID, sku.JxSkuID, sku.SkuName, - sku.ShopPrice, sku.SalePrice, sku.Weight, sku.SkuType, sku.PromotionType, order.OrderCreatedAt) + sku.ShopPrice, sku.VendorPrice, sku.SalePrice, sku.Weight, sku.SkuType, sku.PromotionType, order.OrderCreatedAt) } sql = sql[:len(sql)-1] + ";" if _, err = db.Db.Raw(sql, params...).Exec(); err != nil { diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index 757b03e1f..02c678008 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -50,6 +50,11 @@ var ( fakeUserApplyCancel: model.OrderStatusApplyCancel, fakeUserUndoApplyCancel: model.OrderStatusUndoApplyCancel, } + + skuActTypeMap = map[string]int{ + ebaiapi.OrderSkuDiscountTypeZhe: 1, + ebaiapi.OrderSkuDiscountTypeReduce: 1, + } ) func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int { @@ -233,8 +238,8 @@ func getSkuSalePrice2(product *ebaiapi.OrderProductInfo) (salePrice int) { salePrice = product.ProductPrice if product.ProductSubsidy != nil { for _, v := range product.ProductSubsidy.DiscountDetail { - if v.Type == ebaiapi.OrderSkuDiscountTypeZhe { - salePrice -= v.BaiduRate + v.ShopRate + if skuActTypeMap[v.Type] == 1 { + salePrice -= (v.BaiduRate + v.ShopRate) / product.Number // 饿百同一SKU的优惠与非优惠没有拆开,平均摊销处理 } } } diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 8e1d9e03e..64cf9d492 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -186,7 +186,7 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo } if ignoreSkuMap[sku.SkuID] == 0 && sku.Count == 1 { for _, v := range extraList { - if skuActTypeMap[v.Type] == 1 && strings.Index(v.Remark, skuName) >= 0 { + if /*skuActTypeMap[v.Type] == 1 && */ strings.Index(v.Remark, skuName) >= 0 { ignoreSkuMap[sku.SkuID] = 1 sku.SalePrice -= jxutils.StandardPrice2Int(v.ReduceFee) }