diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 99881bf8b..fc4308711 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -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"}) } } diff --git a/business/partner/purchase/tiktok_store/order_afs.go b/business/partner/purchase/tiktok_store/order_afs.go index 1a050b11a..ba3e35357 100644 --- a/business/partner/purchase/tiktok_store/order_afs.go +++ b/business/partner/purchase/tiktok_store/order_afs.go @@ -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 {