- 用GetOrderRefundDetail代替直接从消息中得到部分退款SKU信息,以支持多次调整单
This commit is contained in:
@@ -184,6 +184,18 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
|
|||||||
return order
|
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) {
|
func getSkuWeight(product map[string]interface{}) (weight int) {
|
||||||
searchResult := specPat.FindStringSubmatch(product["spec"].(string))
|
searchResult := specPat.FindStringSubmatch(product["spec"].(string))
|
||||||
if len(searchResult) == 3 {
|
if len(searchResult) == 3 {
|
||||||
@@ -224,16 +236,18 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap
|
|||||||
if status.Status == model.OrderStatusAdjust {
|
if status.Status == model.OrderStatusAdjust {
|
||||||
var order *model.GoodsOrder
|
var order *model.GoodsOrder
|
||||||
if order, err = c.GetOrder(GetOrderIDFromMsg(msg)); err == nil {
|
if order, err = c.GetOrder(GetOrderIDFromMsg(msg)); err == nil {
|
||||||
skuList := api.MtwmAPI.GetRefundSkuDetailFromMsg(msg)
|
skuList, err2 := getRefundSkuDetailList(msg)
|
||||||
var removedSkuList []*model.OrderSku
|
if err = err2; err == nil {
|
||||||
for _, mtwmSku := range skuList {
|
var removedSkuList []*model.OrderSku
|
||||||
removedSkuList = append(removedSkuList, &model.OrderSku{
|
for _, mtwmSku := range skuList {
|
||||||
SkuID: int(utils.Str2Int64WithDefault(mtwmSku.SkuID, 0)),
|
removedSkuList = append(removedSkuList, &model.OrderSku{
|
||||||
Count: mtwmSku.Count,
|
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 {
|
} else {
|
||||||
err = partner.CurOrderManager.OnOrderStatusChanged(status)
|
err = partner.CurOrderManager.OnOrderStatusChanged(status)
|
||||||
|
|||||||
Reference in New Issue
Block a user