diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ChangeOrderRequestBody.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ChangeOrderRequestBody.java index d03bdf54b..3ab5bebc2 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ChangeOrderRequestBody.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ChangeOrderRequestBody.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.tuple.Pair; +import org.apache.commons.lang3.tuple.Triple; import org.jeecg.modules.business.domain.api.mabang.RequestBody; import java.util.HashSet; @@ -18,9 +19,9 @@ public class ChangeOrderRequestBody implements RequestBody { private String orderStatus; private String remark; - private final HashSet> oldSkuData; + private HashSet> oldSkuData; - private final HashSet> newSkuData; + private HashSet> newSkuData; private final static String DEFAULT_WAREHOUSE_NAME = "SZBA宝安仓"; @@ -36,7 +37,25 @@ public class ChangeOrderRequestBody implements RequestBody { } } - public ChangeOrderRequestBody(String platformOrderId, String orderStatus, HashSet> oldSkuData, + public ChangeOrderRequestBody() { + } + + public static ChangeOrderRequestBody buildChangeOrderRequestBody(String platformOrderId, String orderStatus, + HashSet> oldSkuData, + HashSet> newSkuData, String remark) { + ChangeOrderRequestBody body = new ChangeOrderRequestBody(); + body.platformOrderId = platformOrderId; + body.orderStatus = orderStatus; + body.oldSkuData = new HashSet<>(); + if (oldSkuData != null) { + oldSkuData.forEach(pair -> body.oldSkuData.add(Triple.of(pair.getLeft(), null, pair.getRight()))); + } + body.newSkuData = newSkuData; + body.remark = remark; + return body; + } + + public ChangeOrderRequestBody(String platformOrderId, String orderStatus, HashSet> oldSkuData, HashSet> newSkuData, String remark) { this.platformOrderId = platformOrderId; this.oldSkuData = oldSkuData; @@ -58,17 +77,20 @@ public class ChangeOrderRequestBody implements RequestBody { putNonNull(json, "remark", remark); JSONArray stockDataArray = new JSONArray(); if (oldSkuData != null && !oldSkuData.isEmpty()) { - for (Pair oldSkuDatum : oldSkuData) { + for (Triple oldSkuDatum : oldSkuData) { JSONObject stockData = new JSONObject(); stockData.put("warehouseName", DEFAULT_WAREHOUSE_NAME); - stockData.put("stockSku", oldSkuDatum.getKey()); - stockData.put("quantity", oldSkuDatum.getValue()); + stockData.put("stockSku", oldSkuDatum.getLeft()); + if (oldSkuDatum.getMiddle() != null) { + stockData.put("erpOrderItemId", oldSkuDatum.getMiddle()); + } + stockData.put("quantity", oldSkuDatum.getRight()); stockData.put("type", OperationType.REMOVE.code); stockDataArray.add(stockData); } } - if(newSkuData != null) { + if (newSkuData != null) { for (Pair newSkuDatum : newSkuData) { JSONObject stockData = new JSONObject(); stockData.put("warehouseName", DEFAULT_WAREHOUSE_NAME); @@ -78,7 +100,7 @@ public class ChangeOrderRequestBody implements RequestBody { stockDataArray.add(stockData); } } - putNonNull(json,"stockData", stockDataArray.toJSONString()); + putNonNull(json, "stockData", stockDataArray.toJSONString()); return json; } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddCardJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddCardJob.java index b09d1e2c3..7207f2248 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddCardJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddCardJob.java @@ -123,8 +123,8 @@ public class AddCardJob implements Job { // Still no card in order, add one HashSet> card = new HashSet<>(); card.add(Pair.of(CARD_SKU, 1)); - ChangeOrderRequestBody changeOrderRequestBody = new ChangeOrderRequestBody(mabangOrder.getPlatformOrderId(), null, - null, card, null); + ChangeOrderRequestBody changeOrderRequestBody = ChangeOrderRequestBody.buildChangeOrderRequestBody( + mabangOrder.getPlatformOrderId(), null, null, card, null); changeOrderRequests.add(changeOrderRequestBody); } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddPortraitTubeJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddPortraitTubeJob.java index af393e0f9..6f8ee04d8 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddPortraitTubeJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddPortraitTubeJob.java @@ -142,8 +142,8 @@ public class AddPortraitTubeJob implements Job { HashSet> adequateTubes = currentAndAdequateTubes.getRight(); // Do nothing if current tubes are the adequate tubes if (!currentTubes.containsAll(adequateTubes) || !adequateTubes.containsAll(currentTubes)) { - ChangeOrderRequestBody changeOrderRequestBody = new ChangeOrderRequestBody(mabangOrder.getPlatformOrderId(), null, - currentTubes, adequateTubes, null); + ChangeOrderRequestBody changeOrderRequestBody = ChangeOrderRequestBody.buildChangeOrderRequestBody( + mabangOrder.getPlatformOrderId(), null, currentTubes, adequateTubes, null); changeOrderRequests.add(changeOrderRequestBody); } }