From b4bfd886af0460ae84b2d70233c2a77866930a46 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 02 六月 2025 15:25:21 +0800
Subject: [PATCH] 修改bug和将roacktmq连接方式切换为直连方式

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TaskUtil.java |  214 +++++++++++++++++++++++++++--------------------------
 1 files changed, 109 insertions(+), 105 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TaskUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TaskUtil.java
index 3df2601..938f991 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TaskUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TaskUtil.java
@@ -56,119 +56,123 @@
     // 每天凌晨12点30执行 推送充电用能统计
     @Scheduled(cron = "0 30 0 * * ?")
     public void superviseNotificationOperationStatsInfo() {
-        StationStatsInfoResult res = new StationStatsInfoResult();
-        int dayOfMonth1 = LocalDateTime.now().getYear();
-        int dayOfMonth2 = LocalDateTime.now().getMonthValue();
-        int dayOfMonth3 = LocalDateTime.now().getDayOfMonth();
-        List<Site> data = siteClient.getSiteAll().getData();
-        LocalDateTime startLocalDateTime = LocalDateTime.of(dayOfMonth1, dayOfMonth2, dayOfMonth3, 0, 0, 0);
-        LocalDateTime endLocalDateTime = LocalDateTime.of(dayOfMonth1, dayOfMonth2, dayOfMonth3, 23, 59, 59);
-        String start = DateUtils.localDateTimeToString(startLocalDateTime);
-        String end = DateUtils.localDateTimeToString(endLocalDateTime);
-        ChargingStatisticeDTO chargingStatisticeDTO = new ChargingStatisticeDTO();
-        chargingStatisticeDTO.setStartTime(startLocalDateTime);
-        chargingStatisticeDTO.setEndTime(endLocalDateTime);
-        List<TChargingOrder> data1 = chargingOrderClient.getChargingStatistics(chargingStatisticeDTO).getData();
-        List<StationStatsInfo> stationStatsInfos = new ArrayList<>();
-        for (Site datum : data) {
-            StationStatsInfo stationStatsInfo = new StationStatsInfo();
-            stationStatsInfo.setStationID(datum.getId().toString());
-            stationStatsInfo.setEquipmentOwnerID("906171535");
-            stationStatsInfo.setOperatorID("906171535");
-            stationStatsInfo.setStationClassification(1);
-            stationStatsInfo.setStartTime(start);
-            stationStatsInfo.setEndTime(end);
-            List<TChargingOrder> chargingOrders = data1.stream().filter(e -> e.getSiteId().equals(datum.getId())).collect(Collectors.toList());
-            // 充电电量
-            BigDecimal electricity = new BigDecimal("0");
-            int chargingCount = 0;
-            for (TChargingOrder chargingOrder : chargingOrders) {
-                if (chargingOrder.getElectricity()!=null){
-                    electricity = electricity.add(chargingOrder.getElectricity());
-                    chargingCount++;
+        String port = System.getProperty("server.port");
+        if("5071".equals(port)){
+            StationStatsInfoResult res = new StationStatsInfoResult();
+            int dayOfMonth1 = LocalDateTime.now().getYear();
+            int dayOfMonth2 = LocalDateTime.now().getMonthValue();
+            int dayOfMonth3 = LocalDateTime.now().getDayOfMonth();
+            List<Site> data = siteClient.getSiteAll().getData();
+            LocalDateTime startLocalDateTime = LocalDateTime.of(dayOfMonth1, dayOfMonth2, dayOfMonth3, 0, 0, 0);
+            LocalDateTime endLocalDateTime = LocalDateTime.of(dayOfMonth1, dayOfMonth2, dayOfMonth3, 23, 59, 59);
+            String start = DateUtils.localDateTimeToString(startLocalDateTime);
+            String end = DateUtils.localDateTimeToString(endLocalDateTime);
+            ChargingStatisticeDTO chargingStatisticeDTO = new ChargingStatisticeDTO();
+            chargingStatisticeDTO.setStartTime(startLocalDateTime);
+            chargingStatisticeDTO.setEndTime(endLocalDateTime);
+            List<TChargingOrder> data1 = chargingOrderClient.getChargingStatistics(chargingStatisticeDTO).getData();
+            List<StationStatsInfo> stationStatsInfos = new ArrayList<>();
+            for (Site datum : data) {
+                StationStatsInfo stationStatsInfo = new StationStatsInfo();
+                stationStatsInfo.setStationID(datum.getId().toString());
+                stationStatsInfo.setEquipmentOwnerID("906171535");
+                stationStatsInfo.setOperatorID("906171535");
+                stationStatsInfo.setStationClassification(1);
+                stationStatsInfo.setStartTime(start);
+                stationStatsInfo.setEndTime(end);
+                List<TChargingOrder> chargingOrders = data1.stream().filter(e -> e.getSiteId().equals(datum.getId())).collect(Collectors.toList());
+                // 充电电量
+                BigDecimal electricity = new BigDecimal("0");
+                int chargingCount = 0;
+                for (TChargingOrder chargingOrder : chargingOrders) {
+                    if (chargingOrder.getElectricity()!=null){
+                        electricity = electricity.add(chargingOrder.getElectricity());
+                        chargingCount++;
+                    }
                 }
+                stationStatsInfo.setStationElectricity(electricity.divide(new BigDecimal("24")).setScale(4, BigDecimal.ROUND_DOWN));
+                stationStatsInfo.setStationTotalChargeEnergy(electricity.setScale(4, BigDecimal.ROUND_DOWN));
+                stationStatsInfo.setStationTotalWarningNum(0);
+                stationStatsInfo.setStationTotalOtherEnergy(new BigDecimal("0"));
+                stationStatsInfo.setStationTotalChargeNum(chargingCount);
+                //构建设备统计数据
+                List<EquipmentStatsInfo> EquipmentStatsInfos = new ArrayList<>();
+                Map<Integer, List<TChargingOrder>> collect = chargingOrders.stream().collect(Collectors.groupingBy(TChargingOrder::getChargingPileId));
+                for (Integer integer : collect.keySet()) {
+                    List<TChargingOrder> tChargingOrders = collect.get(integer);
+                    BigDecimal reduce1 = tChargingOrders.stream().map(TChargingOrder::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    EquipmentStatsInfo equipmentStatsInfo = new EquipmentStatsInfo();
+                    equipmentStatsInfo.setEquipmentClassification(1);
+                    long chargingTime = 0L;
+                    for (TChargingOrder tChargingOrder : tChargingOrders) {
+                        // 累加充电时长
+                        LocalDateTime startTime = tChargingOrder.getStartTime();
+                        LocalDateTime endTime = tChargingOrder.getEndTime();
+                        // 计算时间差 单位分钟
+                        chargingTime += ChronoUnit.SECONDS.between(startTime, endTime)/60;
+                    }
+                    equipmentStatsInfo.setEquipmentTotalChargeTime(chargingTime);
+                    equipmentStatsInfo.setEquipmentTotalChargeNum(tChargingOrders.size());
+                    equipmentStatsInfo.setEquipmentTotalWarningNum(0);
+                    equipmentStatsInfo.setEquipmentID(integer.toString());
+                    equipmentStatsInfo.setEquipmentElectricity(reduce1);
+                    //构建设备接口统计数据
+                    Map<Integer, List<TChargingOrder>> collect2 = tChargingOrders.stream().collect(Collectors.groupingBy(TChargingOrder::getChargingGunId));
+                    List<ConnectorStatsInfo> ConnectorStatsInfos = new ArrayList<>();
+                    for (Integer integer1 : collect2.keySet()) {
+                        List<TChargingOrder> tChargingOrders1 = collect2.get(integer1);
+                        BigDecimal reduce2 = tChargingOrders1.stream().map(TChargingOrder::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
+                
+                        TChargingGun chargingGun = chargingGunClient.getChargingGunById(integer1).getData();
+                        ConnectorStatsInfo connectorStatsInfo = new ConnectorStatsInfo();
+                        connectorStatsInfo.setConnectorID(chargingGun.getFullNumber());
+                        connectorStatsInfo.setConnectorElectricity(reduce2);
+                        ConnectorStatsInfos.add(connectorStatsInfo);
+                    }
+                    equipmentStatsInfo.setConnectorStatsInfos(ConnectorStatsInfos);
+                    EquipmentStatsInfos.add(equipmentStatsInfo);
+                }
+                stationStatsInfo.setEquipmentStatsInfos(EquipmentStatsInfos);
+                stationStatsInfos.add(stationStatsInfo);
             }
-            stationStatsInfo.setStationElectricity(electricity.divide(new BigDecimal("24")).setScale(4, BigDecimal.ROUND_DOWN));
-            stationStatsInfo.setStationTotalChargeEnergy(electricity.setScale(4, BigDecimal.ROUND_DOWN));
-            stationStatsInfo.setStationTotalWarningNum(0);
-            stationStatsInfo.setStationTotalOtherEnergy(new BigDecimal("0"));
-            stationStatsInfo.setStationTotalChargeNum(chargingCount);
-            //构建设备统计数据
-            List<EquipmentStatsInfo> EquipmentStatsInfos = new ArrayList<>();
-            Map<Integer, List<TChargingOrder>> collect = chargingOrders.stream().collect(Collectors.groupingBy(TChargingOrder::getChargingPileId));
-            for (Integer integer : collect.keySet()) {
-                List<TChargingOrder> tChargingOrders = collect.get(integer);
-                BigDecimal reduce1 = tChargingOrders.stream().map(TChargingOrder::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
-                EquipmentStatsInfo equipmentStatsInfo = new EquipmentStatsInfo();
-                equipmentStatsInfo.setEquipmentClassification(1);
-                long chargingTime = 0L;
-                for (TChargingOrder tChargingOrder : tChargingOrders) {
-                    // 累加充电时长
-                    LocalDateTime startTime = tChargingOrder.getStartTime();
-                    LocalDateTime endTime = tChargingOrder.getEndTime();
-                    // 计算时间差 单位分钟
-                    chargingTime += ChronoUnit.SECONDS.between(startTime, endTime)/60;
-                }
-                equipmentStatsInfo.setEquipmentTotalChargeTime(chargingTime);
-                equipmentStatsInfo.setEquipmentTotalChargeNum(tChargingOrders.size());
-                equipmentStatsInfo.setEquipmentTotalWarningNum(0);
-                equipmentStatsInfo.setEquipmentID(integer.toString());
-                equipmentStatsInfo.setEquipmentElectricity(reduce1);
-                //构建设备接口统计数据
-                Map<Integer, List<TChargingOrder>> collect2 = tChargingOrders.stream().collect(Collectors.groupingBy(TChargingOrder::getChargingGunId));
-                List<ConnectorStatsInfo> ConnectorStatsInfos = new ArrayList<>();
-                for (Integer integer1 : collect2.keySet()) {
-                    List<TChargingOrder> tChargingOrders1 = collect2.get(integer1);
-                    BigDecimal reduce2 = tChargingOrders1.stream().map(TChargingOrder::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
-
-                    TChargingGun chargingGun = chargingGunClient.getChargingGunById(integer1).getData();
-                    ConnectorStatsInfo connectorStatsInfo = new ConnectorStatsInfo();
-                    connectorStatsInfo.setConnectorID(chargingGun.getFullNumber());
-                    connectorStatsInfo.setConnectorElectricity(reduce2);
-                    ConnectorStatsInfos.add(connectorStatsInfo);
-                }
-                equipmentStatsInfo.setConnectorStatsInfos(ConnectorStatsInfos);
-                EquipmentStatsInfos.add(equipmentStatsInfo);
-            }
-            stationStatsInfo.setEquipmentStatsInfos(EquipmentStatsInfos);
-            stationStatsInfos.add(stationStatsInfo);
+            res.setStationStatsInfos(stationStatsInfos);
+            tcecSuperviseUtil.superviseNotificationOperationStatsInfo(res);
         }
-        res.setStationStatsInfos(stationStatsInfos);
-        tcecSuperviseUtil.superviseNotificationOperationStatsInfo(res);
     }
     // 每15分钟执行一次的定时任务
     @Scheduled(cron = "0 0/15 * * * ?")
     public void supervise_notification_realtime_power_info() {
-        List<Site> data = siteClient.getSiteAll().getData();
-        List<Integer> siteIds = data.stream().map(Site::getId).collect(Collectors.toList());
-        List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData();
-        List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
-        List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData();
-        SupStationPowerInfoResult supStationPowerInfoResult = new SupStationPowerInfoResult();
-        List<SupStationPowerInfo> stationStatsInfos = new ArrayList<>();
-        LocalDateTime now = LocalDateTime.now();
-        LocalDateTime startLocalDateTime = now.minusMinutes(15);
-        ChargingStatisticeDTO chargingStatisticeDTO = new ChargingStatisticeDTO();
-        chargingStatisticeDTO.setStartTime(startLocalDateTime);
-        chargingStatisticeDTO.setEndTime(now);
-        List<TChargingOrder> data1 = chargingOrderClient.getChargingStatistics(chargingStatisticeDTO).getData();
-        for (Site datum : data) {
-            List<TChargingOrder> collect = data1.stream().filter(e -> e.getSiteId().equals(datum.getId())
-            &&e.getChargingPower()!=null).collect(Collectors.toList());
-            SupStationPowerInfo supStationPowerInfo = new SupStationPowerInfo();
-            supStationPowerInfo.setOperatorID("906171535");
-            supStationPowerInfo.setEquipmentOwnerID("906171535");
-            supStationPowerInfo.setStationID(datum.getId().toString());
-            supStationPowerInfo.setStationClassification(1);
-            supStationPowerInfo.setDataTime(DateUtils.localDateTimeToString(LocalDateTime.now()));
-            BigDecimal divide = collect.stream().map(TChargingOrder::getChargingPower).reduce(BigDecimal::add).get().divide(new BigDecimal(collect.size()).setScale(4, BigDecimal.ROUND_DOWN));
-            supStationPowerInfo.setStationRealTimePower(divide);
-            supStationPowerInfo.setEquipmentPowerInfos(buildEquipmentPowerInfo(datum.getId(), tChargingPiles, chargingGunList));
-            stationStatsInfos.add(supStationPowerInfo);
+        String port = System.getProperty("server.port");
+		if("5071".equals(port)){
+            List<Site> data = siteClient.getSiteAll().getData();
+            List<Integer> siteIds = data.stream().filter(s->s.getStatus() == 1).map(Site::getId).collect(Collectors.toList());
+            List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData();
+            List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
+            List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData();
+            SupStationPowerInfoResult supStationPowerInfoResult = new SupStationPowerInfoResult();
+            List<SupStationPowerInfo> stationStatsInfos = new ArrayList<>();
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime startLocalDateTime = now.minusMinutes(15);
+            ChargingStatisticeDTO chargingStatisticeDTO = new ChargingStatisticeDTO();
+            chargingStatisticeDTO.setStartTime(startLocalDateTime);
+            chargingStatisticeDTO.setEndTime(now);
+            List<TChargingOrder> data1 = chargingOrderClient.getChargingStatistics(chargingStatisticeDTO).getData();
+            for (Site datum : data) {
+                List<TChargingOrder> collect = data1.stream().filter(e -> e.getSiteId().equals(datum.getId()) && e.getChargingPower()!=null).collect(Collectors.toList());
+                SupStationPowerInfo supStationPowerInfo = new SupStationPowerInfo();
+                supStationPowerInfo.setOperatorID("906171535");
+                supStationPowerInfo.setEquipmentOwnerID("906171535");
+                supStationPowerInfo.setStationID(datum.getId().toString());
+                supStationPowerInfo.setStationClassification(1);
+                supStationPowerInfo.setDataTime(DateUtils.localDateTimeToString(LocalDateTime.now()));
+                BigDecimal divide = collect.stream().map(TChargingOrder::getChargingPower).reduce(BigDecimal.ZERO, BigDecimal::add).divide(new BigDecimal(collect.size()).setScale(4, BigDecimal.ROUND_DOWN));
+                supStationPowerInfo.setStationRealTimePower(divide);
+                supStationPowerInfo.setEquipmentPowerInfos(buildEquipmentPowerInfo(datum.getId(), tChargingPiles, chargingGunList));
+                stationStatsInfos.add(supStationPowerInfo);
+            }
+            supStationPowerInfoResult.setSupStationPowerInfos(stationStatsInfos);
+            tcecSuperviseUtil.superviseNotificationRealtimePowerInfo(supStationPowerInfoResult);
         }
-        supStationPowerInfoResult.setSupStationPowerInfos(stationStatsInfos);
-        tcecSuperviseUtil.superviseNotificationRealtimePowerInfo(supStationPowerInfoResult);
-
     }
     /**
      * 构建桩数据

--
Gitblit v1.7.1