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