diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index d3c8e9220..e7bb5b01d 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1719,44 +1719,44 @@ func SendFailedMatterOrder(ctx *jxcontext.Context, vendorOrderID string) (err er if order == nil || order.StoreID != model.MatterStoreID || order.FromStoreID == 0 { return fmt.Errorf("只允许物料店重发物料订单调用此接口!") } - queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(order.EclpOutID) - if len(queryOrderStatus.OrderStatusList) > 0 { - 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) - changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, cancelMatterOrderReason) - for _, v := range order.Skus { - cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID) - } - } else if len(order.VendorOrderID) == 14 && order.EclpOutID == "" { //这是分包的主订单 - goodsList, err := dao.GetMatterChildOrders(db, order.VendorOrderID) + // queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(order.EclpOutID) + // if len(queryOrderStatus.OrderStatusList) > 0 { + // 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) + changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, cancelMatterOrderReason) + for _, v := range order.Skus { + cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID) + } + } else if len(order.VendorOrderID) == 14 && order.EclpOutID == "" { //这是分包的主订单 + goodsList, err := dao.GetMatterChildOrders(db, order.VendorOrderID) + if err != nil { + return err + } + if len(goodsList) > 0 { + for _, v := range goodsList { + cOrder, err := partner.CurOrderManager.LoadOrder(v.VendorOrderID, model.VendorIDJX) if err != nil { return err } - if len(goodsList) > 0 { - for _, v := range goodsList { - cOrder, err := partner.CurOrderManager.LoadOrder(v.VendorOrderID, model.VendorIDJX) - if err != nil { - return err - } - suffix := utils.Str2Int64(cOrder.VendorOrderID[len(cOrder.VendorOrderID)-2:]) + int64(len(goodsList)) - _, err = createMatterOrder(buildJxOrderInfo(cOrder, cOrder.Skus), cOrder, suffix) - for _, v := range cOrder.Skus { - cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID) - } - } + suffix := utils.Str2Int64(cOrder.VendorOrderID[len(cOrder.VendorOrderID)-2:]) + int64(len(goodsList)) + _, err = createMatterOrder(buildJxOrderInfo(cOrder, cOrder.Skus), cOrder, suffix) + for _, v := range cOrder.Skus { + cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID) } - err = CancelMatterOrder(db, order, cancelMatterOrderReason) - changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, cancelMatterOrderReason) - } else if len(order.VendorOrderID) == 16 && order.EclpOutID != "" { // 这是分包的子订单 - return fmt.Errorf("请重发主订单!主订单号:[%v]", order.VendorOrderID[len(order.VendorOrderID)-2:]) } - } else { - return fmt.Errorf("只允许物流订单为暂停或逆向完成才能调用此接口!") } + err = CancelMatterOrder(db, order, cancelMatterOrderReason) + changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, cancelMatterOrderReason) + } else if len(order.VendorOrderID) == 16 && order.EclpOutID != "" { // 这是分包的子订单 + return fmt.Errorf("请重发主订单!主订单号:[%v]", order.VendorOrderID[len(order.VendorOrderID)-2:]) } + // } else { + // return fmt.Errorf("只允许物流订单为暂停或逆向完成才能调用此接口!") + // } + // } return err }