mirror of https://github.com/jeecgboot/jeecg-boot
Old SKU data become Triple, adding erpOrderItemId as differentiator in parameters in case of multiple SKU of same quantity
parent
36c0df4e3d
commit
d17769cff3
|
@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
import org.apache.commons.lang3.tuple.Triple;
|
||||||
import org.jeecg.modules.business.domain.api.mabang.RequestBody;
|
import org.jeecg.modules.business.domain.api.mabang.RequestBody;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -18,9 +19,9 @@ public class ChangeOrderRequestBody implements RequestBody {
|
||||||
private String orderStatus;
|
private String orderStatus;
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
private final HashSet<Pair<String, Integer>> oldSkuData;
|
private HashSet<Triple<String, String, Integer>> oldSkuData;
|
||||||
|
|
||||||
private final HashSet<Pair<String, Integer>> newSkuData;
|
private HashSet<Pair<String, Integer>> newSkuData;
|
||||||
|
|
||||||
private final static String DEFAULT_WAREHOUSE_NAME = "SZBA宝安仓";
|
private final static String DEFAULT_WAREHOUSE_NAME = "SZBA宝安仓";
|
||||||
|
|
||||||
|
@ -36,7 +37,25 @@ public class ChangeOrderRequestBody implements RequestBody {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ChangeOrderRequestBody(String platformOrderId, String orderStatus, HashSet<Pair<String, Integer>> oldSkuData,
|
public ChangeOrderRequestBody() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ChangeOrderRequestBody buildChangeOrderRequestBody(String platformOrderId, String orderStatus,
|
||||||
|
HashSet<Pair<String, Integer>> oldSkuData,
|
||||||
|
HashSet<Pair<String, Integer>> 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<Triple<String, String, Integer>> oldSkuData,
|
||||||
HashSet<Pair<String, Integer>> newSkuData, String remark) {
|
HashSet<Pair<String, Integer>> newSkuData, String remark) {
|
||||||
this.platformOrderId = platformOrderId;
|
this.platformOrderId = platformOrderId;
|
||||||
this.oldSkuData = oldSkuData;
|
this.oldSkuData = oldSkuData;
|
||||||
|
@ -58,11 +77,14 @@ public class ChangeOrderRequestBody implements RequestBody {
|
||||||
putNonNull(json, "remark", remark);
|
putNonNull(json, "remark", remark);
|
||||||
JSONArray stockDataArray = new JSONArray();
|
JSONArray stockDataArray = new JSONArray();
|
||||||
if (oldSkuData != null && !oldSkuData.isEmpty()) {
|
if (oldSkuData != null && !oldSkuData.isEmpty()) {
|
||||||
for (Pair<String, Integer> oldSkuDatum : oldSkuData) {
|
for (Triple<String, String, Integer> oldSkuDatum : oldSkuData) {
|
||||||
JSONObject stockData = new JSONObject();
|
JSONObject stockData = new JSONObject();
|
||||||
stockData.put("warehouseName", DEFAULT_WAREHOUSE_NAME);
|
stockData.put("warehouseName", DEFAULT_WAREHOUSE_NAME);
|
||||||
stockData.put("stockSku", oldSkuDatum.getKey());
|
stockData.put("stockSku", oldSkuDatum.getLeft());
|
||||||
stockData.put("quantity", oldSkuDatum.getValue());
|
if (oldSkuDatum.getMiddle() != null) {
|
||||||
|
stockData.put("erpOrderItemId", oldSkuDatum.getMiddle());
|
||||||
|
}
|
||||||
|
stockData.put("quantity", oldSkuDatum.getRight());
|
||||||
stockData.put("type", OperationType.REMOVE.code);
|
stockData.put("type", OperationType.REMOVE.code);
|
||||||
stockDataArray.add(stockData);
|
stockDataArray.add(stockData);
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,8 +123,8 @@ public class AddCardJob implements Job {
|
||||||
// Still no card in order, add one
|
// Still no card in order, add one
|
||||||
HashSet<Pair<String, Integer>> card = new HashSet<>();
|
HashSet<Pair<String, Integer>> card = new HashSet<>();
|
||||||
card.add(Pair.of(CARD_SKU, 1));
|
card.add(Pair.of(CARD_SKU, 1));
|
||||||
ChangeOrderRequestBody changeOrderRequestBody = new ChangeOrderRequestBody(mabangOrder.getPlatformOrderId(), null,
|
ChangeOrderRequestBody changeOrderRequestBody = ChangeOrderRequestBody.buildChangeOrderRequestBody(
|
||||||
null, card, null);
|
mabangOrder.getPlatformOrderId(), null, null, card, null);
|
||||||
changeOrderRequests.add(changeOrderRequestBody);
|
changeOrderRequests.add(changeOrderRequestBody);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,8 +142,8 @@ public class AddPortraitTubeJob implements Job {
|
||||||
HashSet<Pair<String, Integer>> adequateTubes = currentAndAdequateTubes.getRight();
|
HashSet<Pair<String, Integer>> adequateTubes = currentAndAdequateTubes.getRight();
|
||||||
// Do nothing if current tubes are the adequate tubes
|
// Do nothing if current tubes are the adequate tubes
|
||||||
if (!currentTubes.containsAll(adequateTubes) || !adequateTubes.containsAll(currentTubes)) {
|
if (!currentTubes.containsAll(adequateTubes) || !adequateTubes.containsAll(currentTubes)) {
|
||||||
ChangeOrderRequestBody changeOrderRequestBody = new ChangeOrderRequestBody(mabangOrder.getPlatformOrderId(), null,
|
ChangeOrderRequestBody changeOrderRequestBody = ChangeOrderRequestBody.buildChangeOrderRequestBody(
|
||||||
currentTubes, adequateTubes, null);
|
mabangOrder.getPlatformOrderId(), null, currentTubes, adequateTubes, null);
|
||||||
changeOrderRequests.add(changeOrderRequestBody);
|
changeOrderRequests.add(changeOrderRequestBody);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue