1
This commit is contained in:
@@ -659,9 +659,27 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
|
|||||||
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool, reason string) (err error) {
|
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool, reason string) (err error) {
|
||||||
if globals.EnableEbaiStoreWrite {
|
if globals.EnableEbaiStoreWrite {
|
||||||
if isAcceptIt {
|
if isAcceptIt {
|
||||||
err = api.EbaiAPI.OrderAgreeRefund(order.VendorOrderID)
|
err = api.EbaiAPI.OrderAgreeRefund(&ebaiapi.RefundOrderExamine{
|
||||||
|
ReverseOrderId: "",
|
||||||
|
OrderId: order.VendorOrderID,
|
||||||
|
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||||
|
ActionType: ebaiapi.RefundTypeAgree,
|
||||||
|
ReasonRemarks: reason,
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
err = api.EbaiAPI.OrderDisagreeRefund(order.VendorOrderID, reason)
|
if reason == "" {
|
||||||
|
return fmt.Errorf("拒绝退单时,请填写拒单原因")
|
||||||
|
}
|
||||||
|
|
||||||
|
err = api.EbaiAPI.OrderDisagreeRefund(&ebaiapi.RefundOrderExamine{
|
||||||
|
ReverseOrderId: "",
|
||||||
|
OrderId: order.VendorOrderID,
|
||||||
|
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||||
|
ActionType: ebaiapi.RefundTypeAgree,
|
||||||
|
ReasonCode: "7001",
|
||||||
|
ReasonRemarks: reason,
|
||||||
|
RefundProductList: "",
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
@@ -225,11 +226,32 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msg *ebaiapi.CallbackMsg) (order
|
|||||||
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
|
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
|
||||||
if globals.EnableEbaiStoreWrite {
|
if globals.EnableEbaiStoreWrite {
|
||||||
if approveType == partner.AfsApproveTypeRefused {
|
if approveType == partner.AfsApproveTypeRefused {
|
||||||
err = api.EbaiAPI.OrderDisagreeReturnGoods(order.VendorOrderID, order.AfsOrderID, reason)
|
if reason == "" {
|
||||||
|
return fmt.Errorf("拒绝退单时请填写原因")
|
||||||
|
}
|
||||||
|
param := &ebaiapi.RefundOrderExamine{
|
||||||
|
ReverseOrderId: order.AfsOrderID,
|
||||||
|
OrderId: order.VendorOrderID,
|
||||||
|
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||||
|
ActionType: ebaiapi.RefundTypeRefuseGoods,
|
||||||
|
ReasonCode: "7001",
|
||||||
|
ReasonRemarks: reason,
|
||||||
|
RefundProductList: "",
|
||||||
|
}
|
||||||
|
err = api.EbaiAPI.OrderDisagreeReturnGoods(param)
|
||||||
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney {
|
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney {
|
||||||
return errors.New("此平台暂时不支持")
|
return errors.New("此平台暂时不支持")
|
||||||
} else {
|
} else {
|
||||||
err = api.EbaiAPI.OrderAgreeReturnGoods(order.VendorOrderID, order.AfsOrderID)
|
param := &ebaiapi.RefundOrderExamine{
|
||||||
|
ReverseOrderId: order.AfsOrderID,
|
||||||
|
OrderId: order.VendorOrderID,
|
||||||
|
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||||
|
ActionType: ebaiapi.RefundTypeAgreeGoods,
|
||||||
|
ReasonCode: "",
|
||||||
|
ReasonRemarks: reason,
|
||||||
|
RefundProductList: "",
|
||||||
|
}
|
||||||
|
err = api.EbaiAPI.OrderAgreeReturnGoods(param)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@@ -250,19 +272,41 @@ func (c *PurchaseHandler) RefundOrder(ctx *jxcontext.Context, order *model.Goods
|
|||||||
// 发起部分退款 售后/售中
|
// 发起部分退款 售后/售中
|
||||||
func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) {
|
func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) {
|
||||||
if globals.EnableEbaiStoreWrite {
|
if globals.EnableEbaiStoreWrite {
|
||||||
|
//获取afsOrder
|
||||||
|
var afsOrderInfo *model.AfsOrder
|
||||||
|
result, err := api.EbaiAPI.OrderPartRefundGet(order.VendorOrderID)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
afsOrderInfo = CurPurchaseHandler.AfsOrderDetail2Financial(result)
|
||||||
|
|
||||||
//售后部分多次退款
|
//售后部分多次退款
|
||||||
if order.Status > model.OrderStatusEndBegin {
|
if order.Status > model.OrderStatusEndBegin {
|
||||||
//获取afsOrder
|
param := &ebaiapi.RefundOrderExamine{
|
||||||
var afsOrderInfo *model.AfsOrder
|
ReverseOrderId: afsOrderInfo.AfsOrderID,
|
||||||
result, err := api.EbaiAPI.OrderPartRefundGet(order.VendorOrderID)
|
OrderId: afsOrderInfo.VendorOrderID,
|
||||||
if err != nil {
|
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||||
return err
|
ActionType: ebaiapi.RefundTypeAgree,
|
||||||
}
|
ReasonCode: "",
|
||||||
afsOrderInfo = CurPurchaseHandler.AfsOrderDetail2Financial(result)
|
ReasonRemarks: reason,
|
||||||
if err := api.EbaiAPI.OrderAgreePartRefund(afsOrderInfo.VendorOrderID, orderSkus2AfsSkus(refundSkuList), afsOrderInfo.AfsOrderID); err != nil {
|
RefundProductList: "",
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
err = api.EbaiAPI.OrderAgreePartRefund(param)
|
||||||
} else {
|
} else {
|
||||||
|
if reason == "" {
|
||||||
|
return fmt.Errorf("拒绝退单时,请填写拒单原因")
|
||||||
|
}
|
||||||
|
|
||||||
|
//param := &ebaiapi.RefundOrderExamine{
|
||||||
|
// ReverseOrderId: afsOrderInfo.AfsOrderID,
|
||||||
|
// OrderId: afsOrderInfo.VendorOrderID,
|
||||||
|
// IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||||
|
// ActionType: ebaiapi.RefundTypeRefuse,
|
||||||
|
// ReasonCode: "7001",
|
||||||
|
// ReasonRemarks: reason,
|
||||||
|
// RefundProductList: "",
|
||||||
|
//}
|
||||||
|
//err = api.EbaiAPI.OrderPartRefund(param)
|
||||||
if err := api.EbaiAPI.OrderPartRefund(order.VendorOrderID, orderSkus2AfsSkus(refundSkuList)); err != nil {
|
if err := api.EbaiAPI.OrderPartRefund(order.VendorOrderID, orderSkus2AfsSkus(refundSkuList)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -502,9 +502,16 @@ func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").DeliveryFinish(param); err != nil {
|
api := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "")
|
||||||
|
err = api.DeliveryFinish(param)
|
||||||
|
|
||||||
|
if err != nil && strings.Contains(err.Error(), "并发操作,执行失败,请重试") {
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
api.DeliveryFinish(param)
|
||||||
|
} else if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
c.postFakeMsg(order.VendorOrderID, tao_vegetable.OrderStatusPickedUp, tao_vegetable.OrderStatusPickedUp)
|
c.postFakeMsg(order.VendorOrderID, tao_vegetable.OrderStatusPickedUp, tao_vegetable.OrderStatusPickedUp)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
Reference in New Issue
Block a user