From 8b0cf2731d2b61999fdd1aeee91567dc47d67e14 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 11 七月 2025 14:26:08 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java |  172 +++++---------------------------------------------------
 1 files changed, 17 insertions(+), 155 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java
index fb0abf6..d7aa1f6 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java
@@ -14,176 +14,38 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.LocalDate;
 import java.time.LocalTime;
 import java.util.List;
 import java.util.Random;
 
+
+/**
+ * 定时任务:储能放电情况 光伏发电情况
+ */
 @Service
 public class EnergyRefreshService {
     private final Random random = new Random();
     @Resource
     private TSystemConfigurationMapper systemConfigurationMapper;
 
-    private final BigDecimal targetLow = new BigDecimal("85");
 
-    private final BigDecimal targetHigh = new BigDecimal("87");
-
-
-
-    private final int maxIncrement = 10;
-
-    private boolean isRunning = true; // 控制任务是否继续执行
-
-    // 定时任务方法
-    @Scheduled(cron = "0 */15 * * * ?")//15分钟执行一次
-    public synchronized void refreshValue() {
-        // 检查当前时间是否在允许的时间段内
-        LocalTime now = LocalTime.now();
-        boolean isInMorning = now.isAfter(LocalTime.of(10, 0)) && now.isBefore(LocalTime.of(12, 0));
-        boolean isInAfternoon = now.isAfter(LocalTime.of(15, 0)) && now.isBefore(LocalTime.of(21, 0));
-
-        if (!isInMorning && !isInAfternoon) {
-            return;
-        }
-
-        //获取当前值
-        BigDecimal currentValue = getCurrentValue();
-        // 检查是否已停止或达到目标范围
-        if (!isRunning || isWithinTargetRange(currentValue)) {
-            isRunning = false;
-            return;
-        }
-
-        if(currentValue.doubleValue()==87){
-            return;
-        }
-        if(currentValue.doubleValue()>87){
-            updateCurrentValue(new BigDecimal("87"));
-            return;
-        }
-
-        // 生成随机增量并更新值
-        int increment = random.nextInt(maxIncrement + 1);
-        currentValue = currentValue.add(BigDecimal.valueOf(increment))
-                                   .setScale(2, RoundingMode.HALF_UP);
-        //更新值
-        updateCurrentValue(currentValue);
-        System.out.printf("定时刷新:当前时间 %s,当前值:%.2f%n", now, currentValue);
-    }
-    
-    private boolean isWithinTargetRange(BigDecimal value) {
-        return value.compareTo(targetLow) >= 0 && value.compareTo(targetHigh) <= 0;
-    }
-
-    /**
-     * 获取当前值
-     */
-    public BigDecimal getCurrentValue() {
-        //获取系统建设日期和累计储能放电量
-        TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>()
-                .eq(TSystemConfiguration::getType,3));
-        //解析
-        ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class);
-        return configVO.getCurrentValue();
-    }
-
-    /**
-     * 更新当前值
-     */
-    private void updateCurrentValue(BigDecimal currentValue) {
-        //获取系统建设日期和累计储能放电量
-        TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>()
-                .eq(TSystemConfiguration::getType,3));
-        //解析
-        ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class);
-        //更新
-        configVO.setCurrentValue(currentValue);
-        String json = JSON.toJSONString(configVO);
-        sysConfig.setContent(json);
-        systemConfigurationMapper.updateById(sysConfig);
-    }
-
-
-
-    // 重置任务
-    @Scheduled(cron = "0 0 0 * * ?")  // 每天凌晨0点执行
+    // 记录截至昨天的总量(每天凌晨0点)
+    @Scheduled(cron = "0 0 0 * * ?")
     public void reset() {
-        BigDecimal currentValue = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
-        updateCurrentValue(currentValue);
+        String electricity = KsolarUtils.getElectricity();
 
-        refreshValueOne = new BigDecimal("0");
-        TSystemConfiguration sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>()
-                .eq(TSystemConfiguration::getType,4)).get(0);
-        sysConfigs.setContent("0");
-        systemConfigurationMapper.updateById(sysConfigs);
+        TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>()
+                .eq(TSystemConfiguration::getType,5));
+        sysConfig.setContent(electricity.split("_")[0]);
+        systemConfigurationMapper.updateById(sysConfig);
 
-        //更新
-        this.isRunning = true;
+        TSystemConfiguration sysConfig1 = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>()
+                .eq(TSystemConfiguration::getType,4));
+        sysConfig1.setContent(electricity.split("_")[1]);
+        systemConfigurationMapper.updateById(sysConfig1);
+
     }
-
-
-
-    public static BigDecimal refreshValueOne = new BigDecimal("0");
-    /**
-     *光伏发电和消纳
-     */
-    @Scheduled(cron = "0 */1 * * * ?")  // 每分钟点执行
-    public void refreshValueOne() {
-        // 判断时间是否在6:00到8:59
-        LocalTime now = LocalTime.now();
-        if (now.isAfter(LocalTime.of(6, 0)) && now.isBefore(LocalTime.of(8, 59))) {
-            refreshValueOne = refreshValueOne.add(new BigDecimal("0.5"));
-            List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>()
-                    .in(TSystemConfiguration::getType,4,5));
-            TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null);
-            sysConfig.setContent(refreshValueOne.toString());
-            systemConfigurationMapper.updateById(sysConfig);
-
-
-            TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null);
-            String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal("0.5")).toString();
-            sysConfig1.setContent(string);
-            systemConfigurationMapper.updateById(sysConfig1);
-            // 在6:00到8:59之间,不执行
-            return;
-        }
-        // 9:00-16:59每分钟增加随机3 到 3.5
-        if (now.isAfter(LocalTime.of(9, 0)) && now.isBefore(LocalTime.of(16, 59))) {
-            refreshValueOne = refreshValueOne.add(new BigDecimal(3 + (3.5 - 3) * random.nextDouble())
-                    .setScale(2, RoundingMode.HALF_UP));
-            List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>()
-                    .in(TSystemConfiguration::getType,4,5));
-
-            TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null);
-            sysConfig.setContent(refreshValueOne.toString());
-            systemConfigurationMapper.updateById(sysConfig);
-
-
-            TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null);
-            String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal(3 + (3.5 - 3) * random.nextDouble())).toString();
-            sysConfig1.setContent(string);
-            systemConfigurationMapper.updateById(sysConfig1);
-            return;
-        }
-        //17:00-18:59 每分钟增加0.5
-        if (now.isAfter(LocalTime.of(17, 0)) && now.isBefore(LocalTime.of(18, 59))) {
-            refreshValueOne = refreshValueOne.add(new BigDecimal("0.5"));
-            List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>()
-                    .in(TSystemConfiguration::getType,4,5));
-
-            TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null);
-            sysConfig.setContent(refreshValueOne.toString());
-            systemConfigurationMapper.updateById(sysConfig);
-
-
-            TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null);
-            String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal("0.5")).toString();
-            sysConfig1.setContent(string);
-            systemConfigurationMapper.updateById(sysConfig1);
-        }
-    }
-
-
 
 
 }
\ No newline at end of file

--
Gitblit v1.7.1