AdjustOrder与PartRefundOrder中,对于商品进行可能的合并操作

This commit is contained in:
gazebo
2019-12-25 21:38:40 +08:00
parent 6022d24634
commit f69afe7c4a

View File

@@ -515,7 +515,7 @@ func (c *OrderController) GetPrinterStatus() {
})
}
func skuList2Map(skuList []*model.OrderSku) (skuCount int, skuMap map[int64]*model.OrderSku) {
func skuList2Map(skuList []*model.OrderSku) (skuCount int, skuMap map[int64]*model.OrderSku, outSkuList []*model.OrderSku) {
skuMap = make(map[int64]*model.OrderSku)
for _, sku := range skuList {
skuCount += sku.Count
@@ -525,12 +525,13 @@ func skuList2Map(skuList []*model.OrderSku) (skuCount int, skuMap map[int64]*mod
if skuMap[index] == nil {
tmpSku := *sku
skuMap[index] = &tmpSku
outSkuList = append(outSkuList, skuMap[index])
} else {
skuMap[index].Count += sku.Count
}
}
}
return skuCount, skuMap
return skuCount, skuMap, outSkuList
}
func getSkuFromMap(skuMap map[int64]*model.OrderSku, skuID, actID int) (sku *model.OrderSku) {
@@ -555,6 +556,7 @@ func (c *OrderController) AdjustOrder() {
var skuList []*model.OrderSku
err = jxutils.Strings2Objs(params.RemovedSkuInfo, &skuList)
if err == nil {
_, _, skuList = skuList2Map(skuList)
var order *model.GoodsOrder
order, err = partner.CurOrderManager.LoadOrder(params.VendorOrderID, params.VendorID)
if err == nil {
@@ -781,6 +783,7 @@ func (c *OrderController) PartRefundOrder() {
var skuList []*model.OrderSku
err = jxutils.Strings2Objs(params.RefundSkuList, &skuList)
if err == nil {
_, _, skuList = skuList2Map(skuList)
var order *model.GoodsOrder
order, err = partner.CurOrderManager.LoadOrder(params.VendorOrderID, params.VendorID)
if err == nil {
@@ -799,7 +802,7 @@ func (c *OrderController) PartRefundOrder() {
}
func fillSkuList(skuList, orderSkuList []*model.OrderSku) (isSame bool, err error) {
skuCount, orderSkuMap := skuList2Map(orderSkuList)
skuCount, orderSkuMap, _ := skuList2Map(orderSkuList)
skuCount2 := 0
for _, sku := range skuList {
skuCount2 += sku.Count