|
@@ -1795,7 +1795,14 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
return returnMap;
|
|
return returnMap;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 还需优化:买多台水机的客户、多个产品进行拆分的订单
|
|
|
|
+ * @param itemsArray
|
|
|
|
+ * @param groupRule
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
private JSONArray groupProductFilter(JSONArray itemsArray, String groupRule) {
|
|
private JSONArray groupProductFilter(JSONArray itemsArray, String groupRule) {
|
|
|
|
+ int ruleNum = 1;
|
|
// 再次判断来源产品中是否包含了指定的组合产品
|
|
// 再次判断来源产品中是否包含了指定的组合产品
|
|
com.alibaba.fastjson.JSONObject groupJSON = com.alibaba.fastjson.JSONObject.parseObject(groupRule);
|
|
com.alibaba.fastjson.JSONObject groupJSON = com.alibaba.fastjson.JSONObject.parseObject(groupRule);
|
|
boolean isGroup = false;
|
|
boolean isGroup = false;
|
|
@@ -1803,6 +1810,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
JSONObject jsonObject = itemsArray.getJSONObject(i);
|
|
JSONObject jsonObject = itemsArray.getJSONObject(i);
|
|
if (jsonObject.get("outerId").equals(groupJSON.getString("productCode"))) {
|
|
if (jsonObject.get("outerId").equals(groupJSON.getString("productCode"))) {
|
|
isGroup = true;
|
|
isGroup = true;
|
|
|
|
+ ruleNum = jsonObject.getInt("num");
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1820,7 +1828,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
for (int gi = 0; gi < group.size(); gi++) {
|
|
for (int gi = 0; gi < group.size(); gi++) {
|
|
com.alibaba.fastjson.JSONObject rule = group.getJSONObject(gi);
|
|
com.alibaba.fastjson.JSONObject rule = group.getJSONObject(gi);
|
|
String productCode = rule.getString("productCode");
|
|
String productCode = rule.getString("productCode");
|
|
- Integer productNum = rule.getInteger("productNum");
|
|
|
|
|
|
+ Integer productNum = rule.getInteger("productNum") * ruleNum;
|
|
for (int i = 0; i < itemsArray.length(); i++) {
|
|
for (int i = 0; i < itemsArray.length(); i++) {
|
|
JSONObject org = itemsArray.getJSONObject(i);
|
|
JSONObject org = itemsArray.getJSONObject(i);
|
|
if (productCode.equals(org.getString("outerId")) && org.getInt("num") >= productNum) {
|
|
if (productCode.equals(org.getString("outerId")) && org.getInt("num") >= productNum) {
|
|
@@ -1837,7 +1845,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
|
|
for (int gi = 0; gi < group.size(); gi++) {
|
|
for (int gi = 0; gi < group.size(); gi++) {
|
|
com.alibaba.fastjson.JSONObject rule = group.getJSONObject(gi);
|
|
com.alibaba.fastjson.JSONObject rule = group.getJSONObject(gi);
|
|
String productCode = rule.getString("productCode");
|
|
String productCode = rule.getString("productCode");
|
|
- Integer productNum = rule.getInteger("productNum");
|
|
|
|
|
|
+ Integer productNum = rule.getInteger("productNum") * ruleNum;
|
|
for (int i = 0; i < result.length(); i++) {
|
|
for (int i = 0; i < result.length(); i++) {
|
|
JSONObject org = result.getJSONObject(i);
|
|
JSONObject org = result.getJSONObject(i);
|
|
int num = org.getInt("num");
|
|
int num = org.getInt("num");
|