校验是否为并充订单

This commit is contained in:
Guoqs
2024-11-13 17:10:47 +08:00
parent 3e320cbc89
commit f02dfead57

View File

@@ -587,29 +587,34 @@ public class TempService {
*/
public Map<String, List<String>> checkCombinedChargingOrder(List<String> orderCodeList) throws BaseAdaPayException {
Map<String, List<String>> resultMap = Maps.newHashMap();
Set<String> combinedChargingOrderList = Sets.newHashSet();
Set<String> notCombinedChargingOrderList = Sets.newHashSet();
List<String> combinedChargingOrderList = Lists.newArrayList();
List<String> notCombinedChargingOrderList = Lists.newArrayList();
List<String> noDataOrderList = Lists.newArrayList();
for (String orderCode : orderCodeList) {
// 查询orderMonitorData
OrderMonitorData orderMonitorData = orderMonitorDataService.selectByOrderCode(orderCode);
if (orderMonitorData == null) {
logger.info("订单:{}不存在", orderCode);
noDataOrderList.add(orderCode);
continue;
}
JSONArray jsonArray = JSONArray.parseArray(orderMonitorData.getMonitorData());
List<BigDecimal> orderOutputCurrentList = Lists.newArrayList();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String outputCurrent = jsonObject.getString("outputCurrent");
if (new BigDecimal(outputCurrent).compareTo(new BigDecimal(250)) > 0) {
logger.info("订单:{},第{}条数据,输出电流:{}大于250为并充订单", orderCode, i, outputCurrent);
combinedChargingOrderList.add(orderCode);
break;
}
orderOutputCurrentList.add(new BigDecimal(outputCurrent));
}
// 如果orderOutputCurrentList中任意一值大于250判定为并充订单
if (orderOutputCurrentList.stream().anyMatch(current -> current.compareTo(new BigDecimal("250")) > 0)) {
combinedChargingOrderList.add(orderCode);
} else {
notCombinedChargingOrderList.add(orderCode);
}
}
resultMap.put("combinedChargingOrderList", Lists.newArrayList(combinedChargingOrderList));
resultMap.put("notCombinedChargingOrderList", Lists.newArrayList(notCombinedChargingOrderList));
resultMap.put("combinedChargingOrderList", combinedChargingOrderList);
resultMap.put("notCombinedChargingOrderList", notCombinedChargingOrderList);
resultMap.put("noDataOrderList", noDataOrderList);
return resultMap;
}
}