This commit is contained in:
邹宗楠
2023-07-31 11:17:20 +08:00
parent feedfaa608
commit a34f661391

View File

@@ -170,6 +170,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
}
case tao_vegetable.OrderStatusCancelAfs:
globals.SugarLogger.Debugf("用户取消售后----------- %s", utils.Format4Output(msg, false))
// 删除售后单
afsOrder, err := dao.GetAfsOrders(db, model.VendorIDTaoVegetable, orderStatus.RefVendorOrderID, orderStatus.VendorOrderID)
if err != nil || afsOrder == nil {
@@ -224,10 +225,10 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
return tao_vegetable.CallBackResultInfo(err)
}
for _, v := range onSaleMsg.PartCancelRequest.SubOrders {
for _, v1 := range onSaleMsg.PartCancelRequest.SubOrders {
afsOrder = &model.AfsOrder{
VendorID: model.VendorIDTaoVegetable,
AfsOrderID: utils.Int64ToStr(v.BizSubOrderId),
AfsOrderID: utils.Int64ToStr(v1.BizSubOrderId),
VendorOrderID: orderStatus.RefVendorOrderID,
VendorStoreID: onSaleMsg.PartCancelRequest.StoreId,
StoreID: 0,
@@ -284,6 +285,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
//直接就来一个新的售后单,并且还是售后完成的
afsOrder.AfsFinishedAt = afsOrder.AfsCreatedAt
afsOrder.Flag = model.AfsOrderFlagAgreeUserRefund
orderStatus.VendorOrderID = afsOrder.AfsOrderID
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
}
}
@@ -434,39 +436,40 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(status string, msg interface{})
orderStatus.VendorStatus = fmt.Sprintf("%s:%s", tao_vegetable.OrderStatusOnSaleCancel, "用户售中取消")
orderStatus.Status = c.GetAfsStatusFromVendorStatus(tao_vegetable.OrderStatusOnSaleCancel)
orderStatus.StatusTime = time.Now()
//orderStatus.VendorOrderID = refundData.IdempotentId
orderStatus.VendorOrderID = utils.Int64ToStr(refundData.PartCancelRequest.SubOrders[0].BizSubOrderId)
case tao_vegetable.OrderStatusRefundSuccess: // 售后成功
refundData := msg.(*tao_vegetable.RefundOrderFinish)
afsOrder, _ := partner.CurOrderManager.LoadAfsOrder(refundData.OutMainRefundId, model.VendorIDTaoVegetable)
var refundAfs *domain591.AlibabaWdkOrderRefundGetOrderSyncRefundListResult
for i := 0; i < 4; i++ {
param := &request591.AlibabaWdkOrderRefundGetRequest{
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
ShopId: nil,
StoreId: utils.String2Pointer(refundData.StoreId),
RefundIds: &[]int64{utils.Str2Int64(refundData.BizSubRefundId)},
}
refundAfs, _ = getAPI("", 0, refundData.StoreId).QueryAfsOrderDetail(param)
if refundAfs.Orders != nil {
break
}
time.Sleep(time.Second * 1)
}
orders := *refundAfs.Orders
afsOrder, _ := partner.CurOrderManager.LoadAfsOrder(utils.Int64ToStr(*orders[0].OriginOrderId), model.VendorIDTaoVegetable)
if afsOrder != nil {
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
orderStatus.VendorOrderID = utils.Int64ToStr(*orders[0].OriginOrderId)
} else {
var refundAfs *domain591.AlibabaWdkOrderRefundGetOrderSyncRefundListResult
for i := 0; i < 4; i++ {
param := &request591.AlibabaWdkOrderRefundGetRequest{
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
ShopId: nil,
StoreId: utils.String2Pointer(refundData.StoreId),
RefundIds: &[]int64{utils.Str2Int64(refundData.BizSubRefundId)},
}
refundAfs, _ = getAPI("", 0, refundData.StoreId).QueryAfsOrderDetail(param)
if refundAfs.Orders != nil {
break
}
time.Sleep(time.Second * 1)
}
orders := *refundAfs.Orders
orderStatus.RefVendorOrderID = utils.Int64ToStr(*orders[0].OriginParentId)
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 = *orders[0].OutMianOrderId
orderStatus.VendorOrderID = utils.Int64ToStr(*orders[0].OriginOrderId)
taoRefundList = refundAfs.Orders
}