1
This commit is contained in:
@@ -224,9 +224,10 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
|
|||||||
return tao_vegetable.CallBackResultInfo(err)
|
return tao_vegetable.CallBackResultInfo(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, v := range onSaleMsg.PartCancelRequest.SubOrders {
|
||||||
afsOrder = &model.AfsOrder{
|
afsOrder = &model.AfsOrder{
|
||||||
VendorID: model.VendorIDTaoVegetable,
|
VendorID: model.VendorIDTaoVegetable,
|
||||||
AfsOrderID: onSaleMsg.PartCancelRequest.IdempotentId,
|
AfsOrderID: utils.Int64ToStr(v.BizSubOrderId),
|
||||||
VendorOrderID: orderStatus.RefVendorOrderID,
|
VendorOrderID: orderStatus.RefVendorOrderID,
|
||||||
VendorStoreID: onSaleMsg.PartCancelRequest.StoreId,
|
VendorStoreID: onSaleMsg.PartCancelRequest.StoreId,
|
||||||
StoreID: 0,
|
StoreID: 0,
|
||||||
@@ -285,6 +286,8 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
|
|||||||
afsOrder.Flag = model.AfsOrderFlagAgreeUserRefund
|
afsOrder.Flag = model.AfsOrderFlagAgreeUserRefund
|
||||||
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
|
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
case tao_vegetable.OrderStatusRefundSuccess:
|
case tao_vegetable.OrderStatusRefundSuccess:
|
||||||
globals.SugarLogger.Debugf("=========售后成功: %s", utils.Format4Output(msg, false))
|
globals.SugarLogger.Debugf("=========售后成功: %s", utils.Format4Output(msg, false))
|
||||||
// 用户退款成功回调,缺货拣货时,送达回触发.此时并没有售后单
|
// 用户退款成功回调,缺货拣货时,送达回触发.此时并没有售后单
|
||||||
@@ -292,8 +295,6 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
|
|||||||
refundSuccess := msg.(*tao_vegetable.RefundOrderFinish)
|
refundSuccess := msg.(*tao_vegetable.RefundOrderFinish)
|
||||||
var afsOrder *model.AfsOrder
|
var afsOrder *model.AfsOrder
|
||||||
var api = getAPI("", 0, refundSuccess.StoreId)
|
var api = getAPI("", 0, refundSuccess.StoreId)
|
||||||
var isCreate = true
|
|
||||||
var outMainRefundIds = make(map[string]int64, 0)
|
|
||||||
detail, err := api.QueryAfsOrderDetail(&request591.AlibabaWdkOrderRefundGetRequest{
|
detail, err := api.QueryAfsOrderDetail(&request591.AlibabaWdkOrderRefundGetRequest{
|
||||||
OrderFrom: utils.Int64ToPointer(tao_vegetable.ChannelCome),
|
OrderFrom: utils.Int64ToPointer(tao_vegetable.ChannelCome),
|
||||||
ShopId: nil,
|
ShopId: nil,
|
||||||
@@ -303,32 +304,13 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return tao_vegetable.CallBackResultInfo(err)
|
return tao_vegetable.CallBackResultInfo(err)
|
||||||
}
|
}
|
||||||
finalList, _ := dao.GetOrderRefundSkuList(db, []string{refundSuccess.OutMainRefundId})
|
|
||||||
if len(finalList) != model.NO {
|
|
||||||
for _, f := range finalList {
|
|
||||||
for _, a := range *detail.Orders {
|
|
||||||
if f.SkuID == utils.Str2Int(*a.ItemCode) {
|
|
||||||
isCreate = false // 本地已经存在了记录
|
|
||||||
outMainRefundIds[*a.OutMainRefundId] = *a.RefundAmount
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 本地已经存在了售后记录,直接修改售后状态,否则创建售后记录
|
for _, v := range *detail.Orders {
|
||||||
if !isCreate {
|
afs, _ := partner.CurOrderManager.LoadAfsOrder(utils.Int64ToStr(*v.OriginOrderId), model.VendorIDTaoVegetable)
|
||||||
for afsOrderId, afsMoney := range outMainRefundIds {
|
if afs != nil {
|
||||||
afs, _ := partner.CurOrderManager.LoadAfsOrder(afsOrderId, model.VendorIDTaoVegetable)
|
|
||||||
afs.VendorOrderID2 = refundSuccess.BizSubRefundId
|
|
||||||
afs.AfsFinishedAt = time.Now()
|
|
||||||
afs.Status = model.AfsOrderStatusFinished
|
|
||||||
afs.AfsTotalShopMoney = afsMoney
|
|
||||||
dao.UpdateEntity(db, afs, "VendorOrderID2", "AfsFinishedAt", "Status", "AfsTotalShopMoney")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
afsOrder = &model.AfsOrder{
|
afsOrder = &model.AfsOrder{
|
||||||
VendorID: model.VendorIDTaoVegetable,
|
VendorID: model.VendorIDTaoVegetable,
|
||||||
AfsOrderID: refundSuccess.OutMainRefundId,
|
AfsOrderID: utils.Int64ToStr(*v.OriginOrderId),
|
||||||
VendorOrderID: orderStatus.RefVendorOrderID,
|
VendorOrderID: orderStatus.RefVendorOrderID,
|
||||||
VendorOrderID2: refundSuccess.BizSubRefundId,
|
VendorOrderID2: refundSuccess.BizSubRefundId,
|
||||||
VendorStoreID: refundSuccess.StoreId,
|
VendorStoreID: refundSuccess.StoreId,
|
||||||
@@ -378,9 +360,14 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
|
|||||||
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
|
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
afs.VendorOrderID2 = refundSuccess.BizSubRefundId
|
||||||
|
afs.AfsFinishedAt = time.Now()
|
||||||
|
afs.Status = model.AfsOrderStatusFinished
|
||||||
|
afs.AfsTotalShopMoney = *v.RefundAmount
|
||||||
|
dao.UpdateEntity(db, afs, "VendorOrderID2", "AfsFinishedAt", "Status", "AfsTotalShopMoney")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user