diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index a538e1824..ce2693ddf 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1360,7 +1360,8 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result } func updateMatterOrderStatus(db *dao.DaoDB, order *model.GoodsOrder, queryOrderStatus *jdeclpapi.QueryOrderStatusResult) { - if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 { + code := queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode + if code == jdeclpapi.SoStatusCode10034 || code == jdeclpapi.SoStatusCode10038 { dao.Begin(db) defer func() { if r := recover(); r != nil { @@ -1556,7 +1557,8 @@ func SendFailedMatterOrder(ctx *jxcontext.Context, vendorOrderID string) (err er } queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(order.EclpOutID) if len(queryOrderStatus.OrderStatusList) > 0 { - if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10022 { //表示该订单在京东物流为暂停 + code := queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode + if code == jdeclpapi.SoStatusCode10022 || code == jdeclpapi.SoStatusCode10038 { //表示该订单在京东物流为暂停或已经逆向发货完成 if len(order.VendorOrderID) == 14 && order.EclpOutID != "" { //这是不分包的订单 _, err = createMatterOrder(buildJxOrderInfo(order, order.Skus), order, int64(00)) err = CancelMatterOrder(db, order, cancelMatterOrderReason) @@ -1588,7 +1590,7 @@ func SendFailedMatterOrder(ctx *jxcontext.Context, vendorOrderID string) (err er return fmt.Errorf("请重发主订单!主订单号:[%v]", order.VendorOrderID[len(order.VendorOrderID)-2:]) } } else { - return fmt.Errorf("只允许物流订单为暂停才能调用此接口!") + return fmt.Errorf("只允许物流订单为暂停或逆向完成才能调用此接口!") } } return err