1
This commit is contained in:
@@ -287,11 +287,43 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
|
||||
case tao_vegetable.OrderStatusRefundSuccess:
|
||||
// 用户退款成功回调,缺货拣货时,送达回触发.此时并没有售后单
|
||||
if scarceGoods != nil {
|
||||
var afsOrder *model.AfsOrder
|
||||
refundSuccess := msg.(*tao_vegetable.RefundOrderFinish)
|
||||
globals.SugarLogger.Debugf("================OrderStatusRefundSuccess : %s", utils.Format4Output(msg, false))
|
||||
var afsOrder *model.AfsOrder
|
||||
var api = getAPI("", 0, refundSuccess.StoreId)
|
||||
var isCreate = true
|
||||
var outMainRefundIds = make(map[string]int64, 0)
|
||||
detail, err := api.QueryAfsOrderDetail(&request591.AlibabaWdkOrderRefundGetRequest{
|
||||
OrderFrom: utils.Int64ToPointer(tao_vegetable.ChannelCome),
|
||||
ShopId: nil,
|
||||
StoreId: utils.String2Pointer(refundSuccess.StoreId),
|
||||
RefundIds: &[]int64{utils.Str2Int64(refundSuccess.BizSubRefundId)},
|
||||
})
|
||||
if err != nil {
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 本地已经存在了售后记录,直接修改售后状态,否则创建售后记录
|
||||
if !isCreate {
|
||||
for afsOrderId, afsMoney := range outMainRefundIds {
|
||||
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{
|
||||
VendorID: model.VendorIDTaoVegetable,
|
||||
AfsOrderID: refundSuccess.OutMainRefundId,
|
||||
@@ -346,6 +378,8 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
default:
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user