diff --git a/business/partner/purchase/tao_vegetable/order_afs.go b/business/partner/purchase/tao_vegetable/order_afs.go index e30de7450..dda2f745f 100644 --- a/business/partner/purchase/tao_vegetable/order_afs.go +++ b/business/partner/purchase/tao_vegetable/order_afs.go @@ -24,6 +24,7 @@ var ( tao_vegetable.OrderStatusApplyAfs: model.AfsOrderStatusWait4Approve, tao_vegetable.OrderStatusCancelAfs: model.AfsOrderStatusCancelAfs, tao_vegetable.OrderStatusRefundSuccess: model.AfsOrderStatusFinished, + tao_vegetable.OrderStatusOnSaleCancel: model.AfsOrderStatusOnSaleAfs, } ) @@ -171,7 +172,8 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal } } else { // 用户取消售后 - if status == tao_vegetable.OrderStatusCancelAfs { + switch status { + case tao_vegetable.OrderStatusCancelAfs: // 删除售后单 afsOrder, err := dao.GetAfsOrders(db, model.VendorIDTaoVegetable, orderStatus.RefVendorOrderID, orderStatus.VendorOrderID) if err != nil || afsOrder == nil { @@ -209,12 +211,10 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal } } } - } - - // 业务上规定的是打包之后不能取消,但是如果配送超过了预计送达时间1-2小时, + // 业务上规定的是打包之后不能取消,但是如果配送超过了预计送达时间1-2小时, // c端的取消按钮会自动打开,让用户操作取消,但是如果你没接这个接口,用户申请取消了, // 你这边没有响应那么就不会退钱给用户,就会造成客诉。为什么不接售中取消呢 - if status == tao_vegetable.OrderStatusOnSaleCancel { + case tao_vegetable.OrderStatusOnSaleCancel: onSaleMsg := msg.(*tao_vegetable.OnSaleCancel) var afsOrder *model.AfsOrder var api = getAPI("", 0, onSaleMsg.PartCancelRequest.StoreId) @@ -287,7 +287,6 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal } err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus) } - } if err := partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus); err == nil { @@ -346,13 +345,13 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(status string, msg interface{}) 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, "用户售中取消") - // orderStatus.Status = c.GetAfsStatusFromVendorStatus(tao_vegetable.OrderStatusOnSaleCancel) - // orderStatus.StatusTime = utils.Str2Time(refundData.Timestamp) - // orderStatus.VendorOrderID = refundData.IdempotentId + case tao_vegetable.OrderStatusOnSaleCancel: + refundData := msg.(*tao_vegetable.OnSaleCancel) + orderStatus.RefVendorOrderID = utils.Int64ToStr(refundData.PartCancelRequest.BizOrderId) + orderStatus.VendorStatus = fmt.Sprintf("%s:%s", tao_vegetable.OrderStatusOnSaleCancel, "用户售中取消") + orderStatus.Status = c.GetAfsStatusFromVendorStatus(tao_vegetable.OrderStatusOnSaleCancel) + orderStatus.StatusTime = time.Now() + //orderStatus.VendorOrderID = refundData.IdempotentId case tao_vegetable.OrderStatusRefundSuccess: // 售后成功 refundData := msg.(*tao_vegetable.RefundOrderFinish) afsOrder, _ := partner.CurOrderManager.LoadAfsOrder(refundData.OutMainRefundId, model.VendorIDTaoVegetable)