jdapi.AdjustOrder处理重复

This commit is contained in:
gazebo
2019-12-25 21:54:16 +08:00
parent f69afe7c4a
commit 6c13f113e8

View File

@@ -437,11 +437,18 @@ func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.Goods
func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) {
order = jxutils.RemoveSkuFromOrder(order, removedSkuList)
var oaosAdjustDTOList []*jdapi.OAOSAdjustDTO
dtoMap := make(map[int]*jdapi.OAOSAdjustDTO)
for _, sku := range order.Skus {
oaosAdjustDTOList = append(oaosAdjustDTOList, &jdapi.OAOSAdjustDTO{
OutSkuID: utils.Int2Str(jxutils.GetSkuIDFromOrderSku(sku)),
SkuCount: sku.Count,
})
skuID := jxutils.GetSkuIDFromOrderSku(sku)
if dtoMap[skuID] == nil {
dtoMap[skuID] = &jdapi.OAOSAdjustDTO{
OutSkuID: utils.Int2Str(skuID),
SkuCount: sku.Count,
}
oaosAdjustDTOList = append(oaosAdjustDTOList, dtoMap[skuID])
} else {
dtoMap[skuID].SkuCount += sku.Count
}
}
if globals.EnableJdStoreWrite {
err = getAPI(order.VendorOrgCode).AdjustOrder(order.VendorOrderID, ctx.GetUserName(), reason, oaosAdjustDTOList)