diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java index 4b23373d0..1201445e4 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java @@ -602,4 +602,21 @@ public class TempController extends BaseController { } return response; } + + /** + * 校验订单是否为并充订单 + * https://localhost:8080/temp/checkCombinedChargingOrder + */ + @PostMapping("/checkCombinedChargingOrder") + public RestApiResponse checkCombinedChargingOrder(@RequestBody QueryOrderDTO dto) { + RestApiResponse response; + try { + Map> map = tempService.checkCombinedChargingOrder(dto.getOrderCodeList()); + response = new RestApiResponse<>(map); + } catch (Exception e) { + logger.error("校验订单是否为并充订单error", e); + response = new RestApiResponse<>(); + } + return response; + } } diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index 8eea09f28..3c563185e 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -1,6 +1,7 @@ package com.jsowell.service; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -81,6 +82,12 @@ public class TempService { @Autowired private PileMsgRecordMapper pileMsgRecordMapper; + @Autowired + private PileMsgRecordService pileMsgRecordService; + + @Autowired + private OrderMonitorDataService orderMonitorDataService; + /** * 计算订单耗电量 * 内蒙古站点 @@ -574,4 +581,36 @@ public class TempService { } logger.info("{} - {} 期间,共有{}笔支付单存在剩余金额, 共计:{},list:{}", dto.getStartTime(), dto.getEndTime(), paymentIdList.size(), total, JSON.toJSONString(paymentIdList)); } + + /** + * 校验是否为并充订单 + */ + public Map> checkCombinedChargingOrder(List orderCodeList) throws BaseAdaPayException { + Map> resultMap = Maps.newHashMap(); + Set combinedChargingOrderList = Sets.newHashSet(); + Set notCombinedChargingOrderList = Sets.newHashSet(); + for (String orderCode : orderCodeList) { + // 查询orderMonitorData + OrderMonitorData orderMonitorData = orderMonitorDataService.selectByOrderCode(orderCode); + if (orderMonitorData == null) { + logger.info("订单:{}不存在", orderCode); + continue; + } + JSONArray jsonArray = JSONArray.parseArray(orderMonitorData.getMonitorData()); + 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; + } + notCombinedChargingOrderList.add(orderCode); + } + } + resultMap.put("combinedChargingOrderList", Lists.newArrayList(combinedChargingOrderList)); + resultMap.put("notCombinedChargingOrderList", Lists.newArrayList(notCombinedChargingOrderList)); + return resultMap; + } } + diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMsgRecordMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMsgRecordMapper.java index 9b07a765d..47b4ebd89 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMsgRecordMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMsgRecordMapper.java @@ -4,6 +4,7 @@ import com.jsowell.pile.domain.PileMsgRecord; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.Date; import java.util.List; @Repository @@ -18,5 +19,5 @@ public interface PileMsgRecordMapper { List getPileFeedList(@Param("pileSn") String pileSn); List getPileFeedListV2(@Param("pileSn") String pileSn, @Param("frameType") String frameType, - @Param("startTime") String startTime, @Param("endTime") String endTime); + @Param("startTime") Date startTime, @Param("endTime") Date endTime); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileMsgRecordService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileMsgRecordService.java index 2ece4bd18..c1c12e15a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileMsgRecordService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileMsgRecordService.java @@ -4,6 +4,9 @@ import com.jsowell.common.core.page.PageResponse; import com.jsowell.pile.domain.PileMsgRecord; import com.jsowell.pile.dto.QueryPileDTO; +import java.util.Date; +import java.util.List; + public interface PileMsgRecordService { /** @@ -24,4 +27,6 @@ public interface PileMsgRecordService { PageResponse getPileFeedList(QueryPileDTO dto); String generateDescription(PileMsgRecord pileMsgRecord); + + List getPileFeedListV2(String pileSn, String frameType, Date startTime, Date endTime); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMsgRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMsgRecordServiceImpl.java index 4d72ec851..80ef50bb7 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMsgRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMsgRecordServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Service @@ -120,6 +121,11 @@ public class PileMsgRecordServiceImpl implements PileMsgRecordService { return result; } + @Override + public List getPileFeedListV2(String pileSn, String frameType, Date createTime, Date updateTime) { + return pileMsgRecordMapper.getPileFeedListV2(pileSn, frameType, createTime, updateTime); + } + /** * 解析登录报文 * @param jsonMsg