From 81c61e6ec6b2740b5971855840e66ae3e1dfe94d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 10 Jul 2023 13:56:23 +0800 Subject: [PATCH] 1 --- .../partner/purchase/tao_vegetable/order.go | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index b017f5fbd..b82a9987c 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -686,9 +686,9 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods globals.SugarLogger.Debugf("removedSkuList := %s", utils.Format4Output(removedSkuList, false)) // 获取需要退货商品的子订单id - refundSkuOrderID := make(map[int]int, 0) + refundSkuOrderID := make(map[int]*model.OrderSku, 0) for _, v := range removedSkuList { - refundSkuOrderID[v.SkuID] = 1 + refundSkuOrderID[v.SkuID] = v } param := &request591.AlibabaAelophyOrderWorkCallbackRequest{} @@ -709,17 +709,26 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods } for _, v := range *orderDetail.SubOrderResponseList { // 缺货 - if refundSkuOrderID[utils.Str2Int(*v.SkuCode)] == model.YES { - continue + if refundSkuOrderID[utils.Str2Int(*v.SkuCode)] != nil { + if refundSkuOrderID[utils.Str2Int(*v.SkuCode)].Count > utils.Float64TwoInt(*v.BuyStockQuantity) { + return fmt.Errorf("商品[%s],缺货数量[%d],大于订单数量[%d],请重新调整", refundSkuOrderID[utils.Str2Int(*v.SkuCode)].SkuName, refundSkuOrderID[utils.Str2Int(*v.SkuCode)].Count, utils.Float64TwoInt(*v.BuyStockQuantity)) + } + workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{ + BizSubOrderId: v.BizSubOrderId, + SkuCode: v.SkuCode, + PickSaleQuantity: utils.String2Pointer(utils.Int2Str(utils.Float64TwoInt(*v.BuySaleQuantity) - refundSkuOrderID[utils.Str2Int(*v.SkuCode)].Count)), + PickStockQuantity: utils.String2Pointer(utils.Int2Str(utils.Float64TwoInt(*v.BuyStockQuantity) - refundSkuOrderID[utils.Str2Int(*v.SkuCode)].Count)), + } + workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo) + } else { + workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{ + BizSubOrderId: v.BizSubOrderId, + SkuCode: v.SkuCode, + PickSaleQuantity: utils.String2Pointer(utils.Float64ToStr(*v.BuySaleQuantity)), + PickStockQuantity: utils.String2Pointer(utils.Float64ToStr(*v.BuyStockQuantity)), + } + workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo) } - - workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{ - BizSubOrderId: v.BizSubOrderId, - SkuCode: v.SkuCode, - PickSaleQuantity: utils.String2Pointer(utils.Float64ToStr(*v.BuySaleQuantity)), - PickStockQuantity: utils.String2Pointer(utils.Float64ToStr(*v.BuyStockQuantity)), - } - workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo) } // 出库