From a87fc3c9375d5d77017d9dff8dc1ea425acb932d Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期六, 21 六月 2025 16:07:37 +0800
Subject: [PATCH] 修改实时页面电源前N笔数据心跳包

---
 src/main/java/com/whyc/pojo/db_param/PowerheartParam.java      |   57 +++++++++++++++++++
 src/main/java/com/whyc/mapper/PowerheartParamMapper.java       |    6 ++
 src/main/java/com/whyc/service/BattRealdataIdService.java      |   18 +++++-
 src/main/java/com/whyc/service/PowerheartParamService.java     |   20 ++++++
 src/main/java/com/whyc/service/PwrdevHistorydataIdService.java |   35 +++++++++--
 src/main/java/com/whyc/controller/RealContoller.java           |   24 ++++----
 6 files changed, 137 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/whyc/controller/RealContoller.java b/src/main/java/com/whyc/controller/RealContoller.java
index 356358e..49a9e9c 100644
--- a/src/main/java/com/whyc/controller/RealContoller.java
+++ b/src/main/java/com/whyc/controller/RealContoller.java
@@ -31,22 +31,22 @@
     @Autowired
     private BatttestdataIdService tdataIdService;
 
-    @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�")
-    @GetMapping("getHalfHourPwrHisAcinData")
-    public Response getHalfHourPwrHisAcinData(@RequestParam Integer powerId,@RequestParam Integer granularity){
-        return pwrdevHistorydataIdService.getHalfHourPwrHisAcinData(powerId,granularity);
+    @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍓嶄竴鐧炬瘮鏃堕棿闂撮殧鏁版嵁浜ゆ祦杈撳叆缁熻")
+    @GetMapping("getPwrHisAcinData100")
+    public Response getPwrHisAcinData100(@RequestParam Integer powerId){
+        return pwrdevHistorydataIdService.getPwrHisAcinData100(powerId);
     }
 
-    @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃剁洿娴佽緭鍑虹粺璁�")
-    @GetMapping("getHalfHourPwrHisDcoutData")
-    public Response getHalfHourPwrHisDcoutData(@RequestParam Integer powerId,@RequestParam Integer granularity){
-        return pwrdevHistorydataIdService.getHalfHourPwrHisDcoutData(powerId,granularity);
+    @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍓嶄竴鐧炬瘮鏃堕棿闂撮殧鏁版嵁鐩存祦杈撳嚭缁熻")
+    @GetMapping("getPwrHisDcoutData100")
+    public Response getPwrHisDcoutData100(@RequestParam Integer powerId){
+        return pwrdevHistorydataIdService.getHalfHourPwrHisDcoutData(powerId);
     }
 
-    @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�")
-    @GetMapping("getHalfHourBattDevData")
-    public Response getHalfHourBattDevData(@RequestParam Integer battgroupId,@RequestParam Integer granularity){
-        return battRealdataIdService.getHalfHourBattDevData(battgroupId,granularity);
+    @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍓嶄竴鐧炬瘮鏃堕棿闂撮殧鏁版嵁鏍稿璁惧淇℃伅")
+    @GetMapping("getBattDevData100")
+    public Response getBattDevData100(@RequestParam Integer powerId,@RequestParam Integer battgroupId){
+        return battRealdataIdService.getBattDevData100(powerId,battgroupId);
     }
 
     @ApiOperation(value = "鍘嗗彶娴嬭瘯璁板綍")
diff --git a/src/main/java/com/whyc/mapper/PowerheartParamMapper.java b/src/main/java/com/whyc/mapper/PowerheartParamMapper.java
new file mode 100644
index 0000000..2bddd7f
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/PowerheartParamMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_param.PowerheartParam;
+
+public interface PowerheartParamMapper extends CustomMapper<PowerheartParam>{
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/pojo/db_param/PowerheartParam.java b/src/main/java/com/whyc/pojo/db_param/PowerheartParam.java
new file mode 100644
index 0000000..c67bd87
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_param/PowerheartParam.java
@@ -0,0 +1,57 @@
+package com.whyc.pojo.db_param;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 鐢垫簮蹇冭烦閰嶇疆鍙傛暟琛�
+ * </p>
+ *
+ * @author lxw
+ * @since 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName(schema = "db_param",value ="tb_powerheart_param")
+@ApiModel(value="PowerheartParam瀵硅薄", description="鐢垫簮蹇冭烦閰嶇疆鍙傛暟琛�")
+public class PowerheartParam implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "鑷涓婚敭")
+    @TableId(value = "num", type = IdType.AUTO)
+    private Long num;
+
+    @ApiModelProperty(value = "鐢垫簮ID")
+    private Integer powerId;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆鏇茬嚎鏁版嵁闂撮殧(鍒嗛挓)")
+    private Integer acinInterverCfg;
+
+    @ApiModelProperty(value = "浜ゆ祦杈撳叆灞曠ず绗旀暟")
+    private Integer acinCountCfg;
+
+    @ApiModelProperty(value = "鐩存祦杈撳叆闂撮殧閰嶇疆(鍒嗛挓)")
+    private Integer acoutInterverCfg;
+
+    @ApiModelProperty(value = "鐩存祦杈撳叆灞曠ず绗旀暟")
+    private Integer acoutCountCfg;
+
+    @ApiModelProperty(value = "鏍稿璁惧淇℃伅闂撮殧閰嶇疆(鍒嗛挓)")
+    private Integer hrInterverCfg;
+
+    @ApiModelProperty(value = "鏍稿璁惧淇℃伅灞曠ず绗旀暟")
+    private Integer hrCountCfg;
+
+
+}
diff --git a/src/main/java/com/whyc/service/BattRealdataIdService.java b/src/main/java/com/whyc/service/BattRealdataIdService.java
index cfa95d3..1a7d628 100644
--- a/src/main/java/com/whyc/service/BattRealdataIdService.java
+++ b/src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -11,6 +11,7 @@
 import com.whyc.pojo.db_data_history.BattRealdataId;
 import com.whyc.pojo.db_param.AlmAnalysisParam;
 import com.whyc.pojo.db_param.AppParam;
+import com.whyc.pojo.db_param.PowerheartParam;
 import com.whyc.pojo.db_ram_db.BattRtstate;
 import com.whyc.pojo.db_station.BattInf;
 import com.whyc.util.ActionUtil;
@@ -47,6 +48,9 @@
 
     @Autowired(required = false)
     private BattRtstateService rtstateService;
+
+    @Autowired
+    private PowerheartParamService heartService;
 
 
 
@@ -170,14 +174,22 @@
         }
         return new Response().setII(1,map.size()>0,map,"鑾峰彇鐢垫睜缁勬渶杩戜竴瀛e害鐨勬俯搴︽暟鎹�");
     }
-    //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�
-    public Response getHalfHourBattDevData(Integer battgroupId,Integer granularity) {
+    //绯荤粺姒傝鑾峰彇鍓峃绗旀牳瀹硅澶囦俊鎭�
+    public Response getBattDevData100(Integer powerId,Integer battgroupId) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
         String tableName ="db_data_history.tb_batt_realdata_"+battgroupId+"_"+dateTime;
+        //鑾峰彇鍓嶇瑪鏁�*鏃堕棿闂撮殧
+        PowerheartParam heartParam=heartService.getHeartParamByPowerId(powerId);
+        Integer interverCount=100*10;//榛樿鍊�
+        Integer granularity=10;//榛樿鍊�
+        if(heartParam!=null){
+            interverCount=heartParam.getAcinInterverCfg()*heartParam.getAcinCountCfg();
+            granularity=heartParam.getAcinInterverCfg();
+        }
         //鑾峰彇鍓嶅崐涓皬鏃舵暟鎹�
         LocalDateTime now = LocalDateTime.now();
         // 璁$畻鍗婂皬鏃跺墠鐨勬椂闂寸偣
-        LocalDateTime halfHourAgo = now.minusMinutes(30);
+        LocalDateTime halfHourAgo = now.minusMinutes(interverCount);
         // 鏍煎紡鍖栬緭鍑�
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         String halfHourAgoTime=halfHourAgo.format(formatter);
diff --git a/src/main/java/com/whyc/service/PowerheartParamService.java b/src/main/java/com/whyc/service/PowerheartParamService.java
new file mode 100644
index 0000000..916f2a0
--- /dev/null
+++ b/src/main/java/com/whyc/service/PowerheartParamService.java
@@ -0,0 +1,20 @@
+package com.whyc.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.whyc.mapper.PowerheartParamMapper;
+import com.whyc.pojo.db_param.PowerheartParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class PowerheartParamService {
+    @Autowired(required = false)
+    private PowerheartParamMapper mapper;
+    //鑾峰彇鍓嶇瑪鏁�*鏃堕棿闂撮殧
+    public PowerheartParam getHeartParamByPowerId(Integer powerId) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("powerId",powerId);
+        wrapper.last("limit 1");
+        return mapper.selectOne(wrapper);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
index 7371494..bd78a8d 100644
--- a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
+++ b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
@@ -14,6 +14,7 @@
 import com.whyc.pojo.db_param.AppParam;
 import com.whyc.pojo.db_param.ApptimeParam;
 import com.whyc.pojo.db_param.PowerPropertyParam;
+import com.whyc.pojo.db_param.PowerheartParam;
 import com.whyc.pojo.db_station.PowerInf;
 import com.whyc.util.ActionUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -48,13 +49,23 @@
     @Autowired
     private PowerPropertyParamService  propertyParamService;
 
-    //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�
-    public Response getHalfHourPwrHisAcinData(Integer powerId,Integer granularity) {
+    @Autowired
+    private PowerheartParamService heartService;
+
+    //绯荤粺姒傝鍓峃绗斾氦娴佽緭鍏ョ粺璁�
+    public Response getPwrHisAcinData100(Integer powerId) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
-        //鑾峰彇鍓嶅崐涓皬鏃舵暟鎹�
+        //鑾峰彇鍓嶇瑪鏁�*鏃堕棿闂撮殧
+        PowerheartParam heartParam=heartService.getHeartParamByPowerId(powerId);
+        Integer interverCount=100*10;//榛樿鍊�
+        Integer granularity=10;//榛樿鍊�
+        if(heartParam!=null){
+            interverCount=heartParam.getAcinInterverCfg()*heartParam.getAcinCountCfg();
+            granularity=heartParam.getAcinInterverCfg();
+        }
         LocalDateTime now = LocalDateTime.now();
-        // 璁$畻鍗婂皬鏃跺墠鐨勬椂闂寸偣
-        LocalDateTime halfHourAgo = now.minusMinutes(30);
+        // 璁$畻绗旀暟*鏃堕棿闂撮殧鐨勬椂闂寸偣
+        LocalDateTime halfHourAgo = now.minusMinutes(interverCount);
         // 鏍煎紡鍖栬緭鍑�
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         String halfHourAgoTime=halfHourAgo.format(formatter);
@@ -67,13 +78,21 @@
         return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴浜ゆ祦杈撳叆缁熻");
 
     }
-    //绯荤粺姒傝鑾峰彇鍗婂皬鏃剁洿娴佽緭鍑虹粺璁�
-    public Response getHalfHourPwrHisDcoutData(Integer powerId,Integer granularity) {
+    //绯荤粺姒傝鑾峰彇鍓峃绗旂洿娴佽緭鍑虹粺璁�
+    public Response getHalfHourPwrHisDcoutData(Integer powerId) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
+        //鑾峰彇鍓嶇瑪鏁�*鏃堕棿闂撮殧
+        PowerheartParam heartParam=heartService.getHeartParamByPowerId(powerId);
+        Integer interverCount=100*10;//榛樿鍊�
+        Integer granularity=10;//榛樿鍊�
+        if(heartParam!=null){
+            interverCount=heartParam.getAcinInterverCfg()*heartParam.getAcinCountCfg();
+            granularity=heartParam.getAcinInterverCfg();
+        }
         //鑾峰彇鍓嶅崐涓皬鏃舵暟鎹�
         LocalDateTime now = LocalDateTime.now();
         // 璁$畻鍗婂皬鏃跺墠鐨勬椂闂寸偣
-        LocalDateTime halfHourAgo = now.minusMinutes(30);
+        LocalDateTime halfHourAgo = now.minusMinutes(interverCount);
         // 鏍煎紡鍖栬緭鍑�
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         String halfHourAgoTime=halfHourAgo.format(formatter);

--
Gitblit v1.9.1