diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 05e6f986d..cd2d75221 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -236,18 +236,31 @@ public class OrderService { for (OrderVO orderVO : pageInfo.getList()) { orderVO.setPileConnectorCode(orderVO.getPileSn() + orderVO.getConnectorCode()); - String chargingTime = "0分钟"; - if (orderVO.getStartTime() != null) { - Date startTimeDate = DateUtils.parseDate(orderVO.getStartTime()); - Date endTimeDate; - if (orderVO.getEndTime() != null) { - endTimeDate = DateUtils.parseDate(orderVO.getEndTime()); - } else { - endTimeDate = new Date(); - } - // 计算出两个时间差 - chargingTime = DateUtils.getDatePoor(endTimeDate, startTimeDate); + // 从缓存中获取充电时长 + List chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderVO.getTransactionCode()); + // 默认时间倒序排列,因此只取第一条就可以 + if (CollectionUtils.isEmpty(chargingRealTimeData)) { + orderVO.setChargingTime("-"); + continue; } + RealTimeMonitorData realTimeMonitorData = chargingRealTimeData.get(0); + String sumChargingTime = realTimeMonitorData.getSumChargingTime(); // xx分钟 + // 分钟转成 x时x分 + String chargingTime = DateUtils.convertMinutesToTime(Integer.parseInt(sumChargingTime)); + + // String chargingTime = "0分钟"; + // if (orderVO.getStartTime() != null) { + // Date startTimeDate = DateUtils.parseDate(orderVO.getStartTime()); + // Date endTimeDate; + // if (orderVO.getEndTime() != null) { + // endTimeDate = DateUtils.parseDate(orderVO.getEndTime()); + // // 计算出两个时间差 + // chargingTime = DateUtils.getDatePoor(endTimeDate, startTimeDate); + // } else { + // endTimeDate = new Date(); + // } + // + // } orderVO.setChargingTime(chargingTime); } diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java index 109b715c3..7466b849f 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java @@ -153,6 +153,11 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { } public static void main(String[] args) throws ParseException { + + String s = convertMinutesToTime(75); + System.out.println(s); + + String startDate = "2023-07-01"; String endDate = "2023-07-20"; LocalDate of = LocalDate.of(2023, 07, 20); @@ -855,6 +860,24 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { return DateTimes; } + /** + * 分钟转 x时x分 + * @param minutes + * @return + */ + public static String convertMinutesToTime(int minutes) { + if (minutes < 0) { + return null; + } + int hours = minutes / 60; + int remainingMinutes = minutes % 60; + if (hours < 1) { + return String.format("%d分钟", remainingMinutes); + }else { + return String.format("%d小时%d分钟", hours, remainingMinutes); + } + } + /** * 当前时间是否在时间指定范围内
* diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/OrderVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/OrderVO.java index dccd758a0..5fa947720 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/OrderVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/OrderVO.java @@ -19,6 +19,11 @@ public class OrderVO { */ private String orderCode; + /** + * 交易流水号 + */ + private String transactionCode; + /** * 桩编号 */ diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index c6529ef5a..64fb104f6 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -803,6 +803,7 @@