2026-08-27 05626a9f0f93a042477e8bb53fe5660e5d18b134
feat(api): 添加数据推送配置和定时任务功能

- 在 application-jlmy.yml 中新增 loggingEnabled 和 electricityEnabled 配置项
- 添加 apiIp、entName 等推送相关配置参数
- 实现 ApplicationReadyEvent 监听器显示推送状态信息
- 启用登录日志和电量数据的定时推送任务
- 添加配置开关控制推送功能的启用和禁用
- 新增 application-zd.yml 配置文件包含完整的数据源和redis配置
已重命名1个文件
已修改2个文件
45 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/core/api/ScheduledApi.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-jlmy.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-zd.yml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/core/api/ScheduledApi.java
@@ -10,6 +10,9 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
@@ -23,6 +26,15 @@
@Slf4j
//榆林市工业和信息化局数据推送(定时任务)
public class ScheduledApi {
    @Value("${api.loggingEnabled:false}")
    private boolean loggingEnabled;
    @Value("${api.electricityEnabled:false}")
    private boolean electricityEnabled;
    @Value("${api.ip}")
    private String apiIp;
    @Value("${api.entName}")
    private String entName;
@@ -48,9 +60,19 @@
    private static final Random RANDOM = new Random();
    @EventListener(ApplicationReadyEvent.class)
    public void logPushStatus() {
        log.info("榆林市工业和信息化局数据推送配置:登录日志推送{},电量数据推送{},推送地址:{},企业:{}",
                loggingEnabled ? "已开启" : "已关闭",
                electricityEnabled ? "已开启" : "已关闭", apiIp, entName);
    }
    //推送登录日志每周
//    @Scheduled(cron = "0 0 1 ? * 1")
    @Scheduled(cron = "0 0 1 ? * 1")
    public void logging(){
        if (!loggingEnabled) {
            return;
        }
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:dd");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //获取登录日志
@@ -80,8 +102,11 @@
    }
    //推送电每月
//    @Scheduled(cron = "0 0 1 1 * ?")
    @Scheduled(cron = "0 0 1 1 * ?")
    public void electricity(){
        if (!electricityEnabled) {
            return;
        }
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:dd");
        //获取登录日志
        List<ElectricityDto> electricityDtos = new ArrayList<>();
ruoyi-admin/src/main/resources/application-jlmy.yml
@@ -132,6 +132,8 @@
#榆林市工业和信息化局数据推送
api:
    loggingEnabled: true #是否推送登录日志
    electricityEnabled: true #是否推送电量数据
    ip: http://111.20.184.155:8888 #推送ip地址
    appid: 48b97e28e0aad7963e96fc50b9e63908 #企业应用id
    secret: 0db7a9fa112427df622c4207b4707432 #企业应用秘钥
ruoyi-admin/src/main/resources/application-zd.yml
ÎļþÃû´Ó ruoyi-admin/src/main/resources/application-zd.yml.example ÐÞ¸Ä
@@ -91,6 +91,20 @@
                    max-wait: -1ms
# å®¢æˆ·æœåС噍 minio
#榆林市工业和信息化局数据推送
api:
    loggingEnabled: false #是否推送登录日志
    electricityEnabled: false #是否推送电量数据
    ip: http://111.20.184.155:8888 #推送ip地址
    appid: 48b97e28e0aad7963e96fc50b9e63908 #企业应用id
    secret: 0db7a9fa112427df622c4207b4707432 #企业应用秘钥
    entName: ç¥žæœ¨å¸‚聚力煤业有限公司 #企业名称
    socialCreditCode: 91610821305529570Q #统一社会信用代码
    dayPowerConsumption: 1200 #日均用电量
    outputValuesBase: 2200 #单位产值基数(万元)
    electricityCost: 1200 #月电费
# å®¢æˆ·æœåС噍 minio
minio:
    endpoint: 127.0.0.1
    port: 9000