This commit is contained in:
邹宗楠
2023-10-25 09:14:25 +08:00
parent 4ae21905d7
commit 211513b137
2 changed files with 23 additions and 22 deletions

View File

@@ -4,6 +4,7 @@ import (
"crypto/md5"
"errors"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
"math"
"strings"
"time"
@@ -172,20 +173,18 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
}()
// 有些平台(比如美团外卖),在新订单事件没有成功返回,但在重发订单消息前,订单状态转换,则不会再重发新订单事件,特殊处理一下
if orderStatus != nil {
if orderStatus.Status == model.OrderStatusAccepted {
if _, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == ErrCanNotFindOrder {
if handler := partner.GetPurchaseOrderHandlerFromVendorID(orderStatus.VendorID); handler != nil {
if order, err2 := handler.GetOrder(vendorOrgCode, orderStatus.VendorOrderID, ""); err2 == nil && order != nil {
c.OnOrderNew(order, orderStatus)
}
if orderStatus != nil && orderStatus.Status == model.OrderStatusAccepted {
loadOrder, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID)
if err2 == ErrCanNotFindOrder {
if handler := partner.GetPurchaseOrderHandlerFromVendorID(orderStatus.VendorID); handler != nil {
if order, err2 := handler.GetOrder(vendorOrgCode, orderStatus.VendorOrderID, ""); err2 == nil && order != nil {
c.OnOrderNew(order, orderStatus)
}
}
//else {
// loadOrder.Status = model.OrderStatusAccepted
// loadOrder.VendorStatus = tao_vegetable.OrderStatusNew
// c.UpdateOrderFields(loadOrder, []string{"Status", "VendorStatus"})
//}
} else if loadOrder.Status < model.OrderStatusAccepted {
loadOrder.Status = model.OrderStatusAccepted
loadOrder.VendorStatus = tao_vegetable.OrderStatusNew
c.UpdateOrderFields(loadOrder, []string{"Status", "VendorStatus"})
}
}

View File

@@ -117,16 +117,17 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
if approveType == partner.AfsApproveTypeRefused { // 拒绝退货
errList := make([]string, 0, 0)
// 拒绝退款
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
errList = append(errList, err.Error())
} else {
return nil
}
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseToReturnOneApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
errList = append(errList, err.Error())
} else {
return nil
}
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
errList = append(errList, err.Error())
} else {
return nil
}
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseToReturnTwoApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
errList = append(errList, err.Error())
} else {
@@ -138,17 +139,18 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
return fmt.Errorf("%s", strings.Join(errList, "--"))
} else if approveType == partner.AfsApproveTypeRefund { // 同意
errList := make([]string, 0, 0)
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeToReturnOneApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
errList = append(errList, err.Error())
} else {
return nil
}
// 同意仅退款
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeOnlyRefundApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
errList = append(errList, err.Error())
} else {
return nil
}
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeToReturnOneApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
errList = append(errList, err.Error())
} else {
return nil
}
if err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeToReturnTwoApply, order.AfsOrderID, reason, utils.Str2Int64(order.VendorStoreID)); err != nil {
errList = append(errList, err.Error())
} else {