diff --git a/business/partner/purchase/tao_vegetable/order_afs.go b/business/partner/purchase/tao_vegetable/order_afs.go index 929312515..675cdf0c2 100644 --- a/business/partner/purchase/tao_vegetable/order_afs.go +++ b/business/partner/purchase/tao_vegetable/order_afs.go @@ -29,10 +29,17 @@ var ( func (c *PurchaseHandler) isAfsMsg(orderStatus string, orderId string) bool { if orderStatus == tao_vegetable.OrderStatusApplyAfs || orderStatus == tao_vegetable.OrderStatusCancelAfs || orderStatus == tao_vegetable.OrderStatusRefundSuccess { - // order, _ := partner.CurOrderManager.LoadOrder(orderId, model.VendorIDTaoVegetable) - order, _ := partner.CurOrderManager.LoadOrder2(orderId, model.VendorIDTaoVegetable) - if order != nil { - return true + switch orderStatus { + case tao_vegetable.OrderStatusApplyAfs, tao_vegetable.OrderStatusCancelAfs: + order, _ := partner.CurOrderManager.LoadOrder2(orderId, model.VendorIDTaoVegetable) + if order != nil { + return true + } + case tao_vegetable.OrderStatusRefundSuccess: + afsOrder, _ := partner.CurOrderManager.LoadAfsOrder(orderId, model.VendorIDTaoVegetable) + if afsOrder != nil { + return true + } } } return false @@ -239,6 +246,10 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(status string, msg interface{}) orderStatus.StatusTime = time.Now() orderStatus.Remark = refundData.Remarks orderStatus.VendorOrderID = refundData.RefundId + order, _ := partner.CurOrderManager.LoadOrder2(orderStatus.RefVendorOrderID, model.VendorIDTaoVegetable) + if order != nil { + orderStatus.RefVendorOrderID = order.VendorOrderID + } case tao_vegetable.OrderStatusCancelAfs: // 用户取消售后 refundData := msg.(*tao_vegetable.UserCancelRefundApply) orderStatus.RefVendorOrderID = refundData.OutOrderId @@ -246,7 +257,11 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(status string, msg interface{}) orderStatus.Status = c.GetAfsStatusFromVendorStatus(tao_vegetable.OrderStatusCancelAfs) orderStatus.StatusTime = time.Now() orderStatus.VendorOrderID = refundData.RefundId - //case tao_vegetable.OrderStatusOnSaleCancel: + order, _ := partner.CurOrderManager.LoadOrder2(orderStatus.RefVendorOrderID, model.VendorIDTaoVegetable) + if order != nil { + orderStatus.RefVendorOrderID = order.VendorOrderID + } + //case tao_vegetable.OrderStatusOnSaleCancel: // refundData := msg.(*tao_vegetable.OnSaleCancel) // orderStatus.RefVendorOrderID = utils.Int64ToStr(refundData.BizOrderId) // orderStatus.VendorStatus = fmt.Sprintf("%s:%s", tao_vegetable.OrderStatusOnSaleCancel, "用户售中取消") @@ -255,16 +270,15 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(status string, msg interface{}) // orderStatus.VendorOrderID = refundData.IdempotentId case tao_vegetable.OrderStatusRefundSuccess: // 售后成功 refundData := msg.(*tao_vegetable.RefundOrderFinish) - orderStatus.RefVendorOrderID = refundData.OutMainRefundId + afsOrder, _ := partner.CurOrderManager.LoadAfsOrder(refundData.OutMainRefundId, model.VendorIDTaoVegetable) + orderStatus.RefVendorOrderID = afsOrder.VendorOrderID orderStatus.VendorStatus = fmt.Sprintf("%s:%s", tao_vegetable.OrderStatusRefundSuccess, "用户售后退款成功") orderStatus.Status = c.GetAfsStatusFromVendorStatus(tao_vegetable.OrderStatusRefundSuccess) orderStatus.StatusTime = time.Now() + orderStatus.Remark = fmt.Sprintf("QueryTaoAfsOrderId:%s", refundData.BizSubRefundId) orderStatus.VendorOrderID = refundData.OutMainRefundId } - order, _ := partner.CurOrderManager.LoadOrder2(orderStatus.RefVendorOrderID, model.VendorIDTaoVegetable) - if order != nil { - orderStatus.RefVendorOrderID = order.VendorOrderID - } + if orderStatus.VendorOrderID == "" { orderStatus.VendorOrderID = orderStatus.RefVendorOrderID } diff --git a/controllers/taobao_vegetable.go b/controllers/taobao_vegetable.go index 9784e38fd..bf9926651 100644 --- a/controllers/taobao_vegetable.go +++ b/controllers/taobao_vegetable.go @@ -293,7 +293,7 @@ func (c *TaoBaoVegetableController) RefundOrderSuccess() { return } default: - callbackResponse := taoVegetable.OnCallbackMsg(tao_vegetable.OrderStatusRefundSuccess, refundSuccess.OutSubOrderId, refundSuccess) + callbackResponse := taoVegetable.OnCallbackMsg(tao_vegetable.OrderStatusRefundSuccess, refundSuccess.OutMainRefundId, refundSuccess) c.Data["json"] = callbackResponse c.ServeJSON() return