- 美团与饿百的订单活动商品处理,饿百活动商品没有拆开,摊销处理

This commit is contained in:
gazebo
2019-06-12 09:32:34 +08:00
parent 7f939333df
commit 3fb6bba882
3 changed files with 10 additions and 5 deletions

View File

@@ -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 _, _, err = db.Db.ReadOrCreate(originalOrder, "VendorOrderID", "VendorID"); err == nil {
if created { if created {
sql := `INSERT INTO order_sku(vendor_order_id, vendor_id, count, vendor_sku_id, sku_id, jx_sku_id, sku_name, 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{}{} params := []interface{}{}
for _, sku := range order.Skus { for _, sku := range order.Skus {
sql += "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)," sql += "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?),"
@@ -228,7 +228,7 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao
skuID = sku.SkuID skuID = sku.SkuID
} }
params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.VendorSkuID, skuID, sku.JxSkuID, sku.SkuName, 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] + ";" sql = sql[:len(sql)-1] + ";"
if _, err = db.Db.Raw(sql, params...).Exec(); err != nil { if _, err = db.Db.Raw(sql, params...).Exec(); err != nil {

View File

@@ -50,6 +50,11 @@ var (
fakeUserApplyCancel: model.OrderStatusApplyCancel, fakeUserApplyCancel: model.OrderStatusApplyCancel,
fakeUserUndoApplyCancel: model.OrderStatusUndoApplyCancel, fakeUserUndoApplyCancel: model.OrderStatusUndoApplyCancel,
} }
skuActTypeMap = map[string]int{
ebaiapi.OrderSkuDiscountTypeZhe: 1,
ebaiapi.OrderSkuDiscountTypeReduce: 1,
}
) )
func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int { func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
@@ -233,8 +238,8 @@ func getSkuSalePrice2(product *ebaiapi.OrderProductInfo) (salePrice int) {
salePrice = product.ProductPrice salePrice = product.ProductPrice
if product.ProductSubsidy != nil { if product.ProductSubsidy != nil {
for _, v := range product.ProductSubsidy.DiscountDetail { for _, v := range product.ProductSubsidy.DiscountDetail {
if v.Type == ebaiapi.OrderSkuDiscountTypeZhe { if skuActTypeMap[v.Type] == 1 {
salePrice -= v.BaiduRate + v.ShopRate salePrice -= (v.BaiduRate + v.ShopRate) / product.Number // 饿百同一SKU的优惠与非优惠没有拆开平均摊销处理
} }
} }
} }

View File

@@ -186,7 +186,7 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
} }
if ignoreSkuMap[sku.SkuID] == 0 && sku.Count == 1 { if ignoreSkuMap[sku.SkuID] == 0 && sku.Count == 1 {
for _, v := range extraList { 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 ignoreSkuMap[sku.SkuID] = 1
sku.SalePrice -= jxutils.StandardPrice2Int(v.ReduceFee) sku.SalePrice -= jxutils.StandardPrice2Int(v.ReduceFee)
} }