- AdjustOrder与PartRefundOrder中,为了区别活动与非活动SKU,需转入SubStoreID(即单品的活动ID)区分
This commit is contained in:
@@ -333,7 +333,7 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db *dao.
|
|||||||
// } else
|
// } else
|
||||||
if actStoreSkuMap != nil {
|
if actStoreSkuMap != nil {
|
||||||
if skuID := jxutils.GetSkuIDFromOrderSku(v); skuID > 0 /*&& v.StoreSubName != ""*/ {
|
if skuID := jxutils.GetSkuIDFromOrderSku(v); skuID > 0 /*&& v.StoreSubName != ""*/ {
|
||||||
if actStoreSku := actStoreSkuMap.GetActStoreSku(jxStoreID, skuID, order.VendorID); actStoreSku != nil {
|
if actStoreSku := actStoreSkuMap.GetActStoreSku(jxStoreID, skuID, order.VendorID); actStoreSku != nil && v.StoreSubName != "" {
|
||||||
v.EarningPrice = actStoreSku.EarningPrice
|
v.EarningPrice = actStoreSku.EarningPrice
|
||||||
v.StoreSubID = actStoreSku.ActID
|
v.StoreSubID = actStoreSku.ActID
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -504,22 +504,30 @@ func (c *OrderController) GetPrinterStatus() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func skuList2Map(skuList []*model.OrderSku) (skuCount int, skuMap map[int]*model.OrderSku) {
|
func skuList2Map(skuList []*model.OrderSku) (skuCount int, skuMap map[int64]*model.OrderSku) {
|
||||||
skuMap = make(map[int]*model.OrderSku)
|
skuMap = make(map[int64]*model.OrderSku)
|
||||||
for _, sku := range skuList {
|
for _, sku := range skuList {
|
||||||
skuCount += sku.Count
|
skuCount += sku.Count
|
||||||
skuID := jxutils.GetSkuIDFromOrderSku(sku)
|
skuID := jxutils.GetSkuIDFromOrderSku(sku)
|
||||||
if sku.SkuID > 0 {
|
if sku.SkuID > 0 {
|
||||||
if skuMap[skuID] == nil {
|
index := jxutils.Combine2Int(skuID, sku.StoreSubID)
|
||||||
skuMap[skuID] = sku
|
if skuMap[index] == nil {
|
||||||
|
skuMap[index] = sku
|
||||||
} else {
|
} else {
|
||||||
skuMap[skuID].Count += sku.Count
|
skuMap[index].Count += sku.Count
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return skuCount, skuMap
|
return skuCount, skuMap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getSkuFromMap(skuMap map[int64]*model.OrderSku, skuID, actID int) (sku *model.OrderSku) {
|
||||||
|
if sku = skuMap[jxutils.Combine2Int(skuID, actID)]; sku == nil && actID != 0 {
|
||||||
|
sku = skuMap[jxutils.Combine2Int(skuID, 0)]
|
||||||
|
}
|
||||||
|
return sku
|
||||||
|
}
|
||||||
|
|
||||||
// @Title 调整订单
|
// @Title 调整订单
|
||||||
// @Description 调整订单
|
// @Description 调整订单
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
@@ -760,16 +768,18 @@ func fillSkuList(skuList, orderSkuList []*model.OrderSku) (isSame bool, err erro
|
|||||||
for _, sku := range skuList {
|
for _, sku := range skuList {
|
||||||
skuCount2 += sku.Count
|
skuCount2 += sku.Count
|
||||||
skuID := jxutils.GetSkuIDFromOrderSku(sku)
|
skuID := jxutils.GetSkuIDFromOrderSku(sku)
|
||||||
if orderSkuMap[skuID] == nil {
|
actID := sku.StoreSubID
|
||||||
|
sku2 := getSkuFromMap(orderSkuMap, skuID, actID)
|
||||||
|
if sku2 == nil {
|
||||||
err = fmt.Errorf("找不到SKU:%d", skuID)
|
err = fmt.Errorf("找不到SKU:%d", skuID)
|
||||||
} else if sku.Count > orderSkuMap[skuID].Count {
|
} else if sku.Count > sku2.Count {
|
||||||
err = fmt.Errorf("SKU:%d调整数量:%d大于实际数量:%d", skuID, sku.Count, orderSkuMap[skuID].Count)
|
err = fmt.Errorf("SKU:%d调整数量:%d大于实际数量:%d", skuID, sku.Count, sku2.Count)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
} else {
|
} else {
|
||||||
count := sku.Count
|
count := sku.Count
|
||||||
*sku = *orderSkuMap[skuID]
|
*sku = *sku2
|
||||||
sku.Count = count
|
sku.Count = count
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user