From 0f4459e4201fdc19185b7dd03215871f036acd70 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 28 五月 2025 16:45:01 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into dev
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java | 1
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java | 5 ++
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java | 4 +-
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java | 83 ++++++++++++++++++++++++++++++-----------
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java | 4 +-
5 files changed, 69 insertions(+), 28 deletions(-)
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
index 7b39d9a..a5f9da3 100644
--- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
@@ -38,8 +38,8 @@
/**
* 每天的9点执行的任务
*/
-// @Scheduled(cron = "0 0 9 * * *")
- @Scheduled(fixedRate = 60000)
+ @Scheduled(cron = "0 0 9 * * *")
+// @Scheduled(fixedRate = 60000)
public void taskDay(){
try {
// 传输mongodb的硬件数据
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java
index 92f360b..6a485d5 100644
--- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java
@@ -18,10 +18,10 @@
// private final static String CLIENT_ID = "mqttx_3267186711111fdsasdsa";
// private final static String USER_NAME = "admin";
// private final static String PASS_WORD = "mingxingdianli123";
- private final static String HOST = "tcp://183.220.129.95:1883";
+ private final static String HOST = "tcp://182.129.202.2:1883";
private final static String CLIENT_ID = "mqttx_3267186711111mxcdszyun";
private final static String USER_NAME = "mxEmqx";
- private final static String PASS_WORD = "admin";
+ private final static String PASS_WORD = "csDN_wlwpt";
private final static Integer TIME_OUT = 30000;
private final static Integer KEEP_ALIVE = 60000;
private MqttClient mqttClient;
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java
index 8bec3aa..c353eab 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java
@@ -1,7 +1,6 @@
package com.ruoyi.other.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.other.api.domain.TNotice;
import com.ruoyi.other.api.domain.TScreenContent;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
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 e5cd892..fa1937a 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
@@ -1,9 +1,17 @@
package com.ruoyi.other.util;
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.other.api.domain.TSystemConfiguration;
+import com.ruoyi.other.mapper.TSystemConfigurationMapper;
+import com.ruoyi.other.vo.ScreenStorageConfigVO;
+import lombok.Getter;
+import lombok.Setter;
import lombok.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalTime;
@@ -12,60 +20,89 @@
@Service
public class EnergyRefreshService {
private final Random random = new Random();
- private BigDecimal currentValue;
-
+ @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; // 控制任务是否继续执行
- public EnergyRefreshService() {
- this.currentValue = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
- }
+ 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;
}
- // 检查当前时间是否在允许的时间段内
- 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;
- }
-
+
// 生成随机增量并更新值
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() {
- return currentValue;
+ //获取系统建设日期和累计储能放电量
+ 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点执行
public void reset() {
- this.currentValue = BigDecimal.ZERO;
+ BigDecimal currentValue = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
+ updateCurrentValue(currentValue);
+ //更新
this.isRunning = true;
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java
index efee467..5d3c27f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java
@@ -25,4 +25,9 @@
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate lastUpdated;
+
+ /**
+ * 储能放电情况 今日放能 规定时间内 随机增长 凌晨数值重置
+ */
+ private BigDecimal currentValue;
}
--
Gitblit v1.7.1