Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -317,7 +317,7 @@ func (c *PurchaseHandler) onOrderMsg(orderStatus, orderId string, orderCallback
|
||||
var err error
|
||||
|
||||
// 售后单
|
||||
if c.isAfsMsg(orderStatus, orderId) {
|
||||
if c.isAfsMsg(orderStatus, orderId, orderCallback) {
|
||||
response = c.OnAfsOrderMsg(orderId, orderStatus, orderCallback)
|
||||
return response
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
func (c *PurchaseHandler) isAfsMsg(orderStatus string, orderId string) bool {
|
||||
func (c *PurchaseHandler) isAfsMsg(orderStatus string, orderId string, orderCallback interface{}) bool {
|
||||
switch orderStatus {
|
||||
case tao_vegetable.OrderStatusApplyAfs, tao_vegetable.OrderStatusCancelAfs:
|
||||
order, _ := partner.CurOrderManager.LoadOrder2(orderId, model.VendorIDTaoVegetable)
|
||||
@@ -36,8 +36,16 @@ func (c *PurchaseHandler) isAfsMsg(orderStatus string, orderId string) bool {
|
||||
return true
|
||||
}
|
||||
case tao_vegetable.OrderStatusRefundSuccess:
|
||||
afsOrder, _ := partner.CurOrderManager.LoadAfsOrder(orderId, model.VendorIDTaoVegetable)
|
||||
if afsOrder != nil {
|
||||
success := orderCallback.(*tao_vegetable.RefundOrderFinish)
|
||||
param := &request591.AlibabaWdkOrderRefundGetRequest{
|
||||
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
||||
ShopId: nil,
|
||||
StoreId: utils.String2Pointer(success.StoreId),
|
||||
RefundIds: &[]int64{utils.Str2Int64(success.BizSubRefundId)},
|
||||
}
|
||||
refundAfs, _ := getAPI("", 0, success.StoreId).QueryAfsOrderDetail(param)
|
||||
globals.SugarLogger.Debugf("==============refundAfs.Orders : %s", utils.Format4Output(refundAfs.Orders != nil, false))
|
||||
if refundAfs.Orders != nil {
|
||||
return true
|
||||
}
|
||||
case tao_vegetable.OrderStatusOnSaleCancel:
|
||||
@@ -287,9 +295,8 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
|
||||
|
||||
if afsOrder != nil {
|
||||
//直接就来一个新的售后单,并且还是售后完成的
|
||||
if orderStatus.Status == model.AfsOrderStatusFinished {
|
||||
afsOrder.AfsFinishedAt = afsOrder.AfsCreatedAt
|
||||
}
|
||||
afsOrder.AfsFinishedAt = afsOrder.AfsCreatedAt
|
||||
afsOrder.Flag = model.AfsOrderFlagAgreeUserRefund
|
||||
globals.SugarLogger.Debugf("==============onsaleRefund afsOrd: = %s", utils.Format4Output(afsOrder, false))
|
||||
globals.SugarLogger.Debugf("==============onsaleRefund orderStatus: = %s", utils.Format4Output(orderStatus, false))
|
||||
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
|
||||
@@ -362,12 +369,31 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(status string, msg interface{})
|
||||
case tao_vegetable.OrderStatusRefundSuccess: // 售后成功
|
||||
refundData := msg.(*tao_vegetable.RefundOrderFinish)
|
||||
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
|
||||
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
|
||||
} else {
|
||||
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)
|
||||
orderId := *refundAfs.Orders
|
||||
|
||||
orderStatus.RefVendorOrderID = utils.Int64ToStr(*orderId[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 = orderStatus.RefVendorOrderID
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if orderStatus.VendorOrderID == "" {
|
||||
|
||||
Reference in New Issue
Block a user