From 56f1148e3248533a869f0284eaf8be6802e10fc9 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 10 Jun 2019 15:33:36 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E7=94=A8GetOrderRefundDetail=E4=BB=A3?= =?UTF-8?q?=E6=9B=BF=E7=9B=B4=E6=8E=A5=E4=BB=8E=E6=B6=88=E6=81=AF=E4=B8=AD?= =?UTF-8?q?=E5=BE=97=E5=88=B0=E9=83=A8=E5=88=86=E9=80=80=E6=AC=BESKU?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=A5=E6=94=AF=E6=8C=81=E5=A4=9A?= =?UTF-8?q?=E6=AC=A1=E8=B0=83=E6=95=B4=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/mtwm/order.go | 32 ++++++++++++++++++------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 04c178664..57cf3c359 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -184,6 +184,18 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo return order } +func getRefundSkuDetailList(msg *mtwmapi.CallbackMsg) (skuList []*mtwmapi.RefundSkuDetail, err error) { + if false { + skuList = api.MtwmAPI.GetRefundSkuDetailFromMsg(msg) + } else { + refundOrderDetail, err2 := api.MtwmAPI.GetOrderRefundDetail(utils.Str2Int64(GetOrderIDFromMsg(msg)), mtwmapi.RefundTypePart) + if err = err2; err == nil { + skuList = refundOrderDetail.WmAppRetailForOrderPartRefundList + } + } + return skuList, err +} + func getSkuWeight(product map[string]interface{}) (weight int) { searchResult := specPat.FindStringSubmatch(product["spec"].(string)) if len(searchResult) == 3 { @@ -224,16 +236,18 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap if status.Status == model.OrderStatusAdjust { var order *model.GoodsOrder if order, err = c.GetOrder(GetOrderIDFromMsg(msg)); err == nil { - skuList := api.MtwmAPI.GetRefundSkuDetailFromMsg(msg) - var removedSkuList []*model.OrderSku - for _, mtwmSku := range skuList { - removedSkuList = append(removedSkuList, &model.OrderSku{ - SkuID: int(utils.Str2Int64WithDefault(mtwmSku.SkuID, 0)), - Count: mtwmSku.Count, - }) + skuList, err2 := getRefundSkuDetailList(msg) + if err = err2; err == nil { + var removedSkuList []*model.OrderSku + for _, mtwmSku := range skuList { + removedSkuList = append(removedSkuList, &model.OrderSku{ + SkuID: int(utils.Str2Int64WithDefault(mtwmSku.SkuID, 0)), + Count: mtwmSku.Count, + }) + } + order = jxutils.RemoveSkuFromOrder(order, removedSkuList) + err = partner.CurOrderManager.OnOrderAdjust(order, status) } - order = jxutils.RemoveSkuFromOrder(order, removedSkuList) - err = partner.CurOrderManager.OnOrderAdjust(order, status) } } else { err = partner.CurOrderManager.OnOrderStatusChanged(status)