From b4a2c19146351ce0b887e4ab7a1a38c51313d1b5 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 18 Dec 2024 17:35:29 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E4=BB=AA=E8=A1=A8?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=81=E7=BD=91=E5=85=B3=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=9B=202=E3=80=81=E4=BC=98=E5=8C=96=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=95=B0=E6=8D=AE=EF=BC=8C=E6=94=B9=E6=88=90?= =?UTF-8?q?=E5=A4=9A=E7=BA=BF=E7=A8=8B=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DevicesParamsController.java | 4 +-- .../controller/GatewayManageController.java | 4 +-- .../controller/MeterManageController.java | 3 +- .../java/com/mh/user/job/DealDataJob.java | 24 ++++++++++++---- .../service/impl/MeterManageServiceImpl.java | 9 +++++- .../user/strategy/ModbusProtocolStrategy.java | 15 ++++++---- .../src/main/resources/application-dev.yml | 2 +- .../test/java/com/mh/user/SysUserTest.java | 28 ++++++++++--------- 8 files changed, 58 insertions(+), 31 deletions(-) diff --git a/user-service/src/main/java/com/mh/user/controller/DevicesParamsController.java b/user-service/src/main/java/com/mh/user/controller/DevicesParamsController.java index 9887c78..2d9594c 100644 --- a/user-service/src/main/java/com/mh/user/controller/DevicesParamsController.java +++ b/user-service/src/main/java/com/mh/user/controller/DevicesParamsController.java @@ -36,7 +36,7 @@ public class DevicesParamsController { @SysLogger(value="设备参数管理",optDesc = "编辑设备参数管理") @PostMapping("/update") - public HttpResult updateProInfo(DeviceParamsEntity entity) { + public HttpResult updateProInfo(@RequestBody DeviceParamsEntity entity) { deviceParamsService.update(entity); return HttpResult.ok(); } @@ -50,7 +50,7 @@ public class DevicesParamsController { @SysLogger(value="设备参数管理",optDesc = "添加设备参数管理") @PostMapping("/save") - public HttpResult saveGw(DeviceParamsEntity entity) { + public HttpResult saveGw(@RequestBody DeviceParamsEntity entity) { deviceParamsService.save(entity); return HttpResult.ok(); } diff --git a/user-service/src/main/java/com/mh/user/controller/GatewayManageController.java b/user-service/src/main/java/com/mh/user/controller/GatewayManageController.java index 7635cc5..aa88d91 100644 --- a/user-service/src/main/java/com/mh/user/controller/GatewayManageController.java +++ b/user-service/src/main/java/com/mh/user/controller/GatewayManageController.java @@ -39,7 +39,7 @@ public class GatewayManageController { @SysLogger(value="网关管理信息",optDesc = "编辑网关管理信息") @PostMapping("/update") - public HttpResult updateProInfo(GatewayManageEntity gatewayManageEntity) { + public HttpResult updateProInfo(@RequestBody GatewayManageEntity gatewayManageEntity) { gatewayManageService.update(gatewayManageEntity); return HttpResult.ok(); } @@ -53,7 +53,7 @@ public class GatewayManageController { @SysLogger(value="网关管理信息",optDesc = "添加网关管理信息") @PostMapping("/save") - public HttpResult saveGw(GatewayManageEntity gatewayManageEntity) { + public HttpResult saveGw(@RequestBody GatewayManageEntity gatewayManageEntity) { gatewayManageService.save(gatewayManageEntity); return HttpResult.ok(); } diff --git a/user-service/src/main/java/com/mh/user/controller/MeterManageController.java b/user-service/src/main/java/com/mh/user/controller/MeterManageController.java index 5143cb7..9d4b4a0 100644 --- a/user-service/src/main/java/com/mh/user/controller/MeterManageController.java +++ b/user-service/src/main/java/com/mh/user/controller/MeterManageController.java @@ -31,6 +31,7 @@ public class MeterManageController { @FieldParam(type = "data_type", targetField = "dataType", targetFieldValueClazz = Integer.class), @FieldParam(type = "protocol_type", targetField = "protocolType", targetFieldValueClazz = Integer.class), @FieldParam(type = "project_name", targetField = "projectId", targetFieldValueClazz = Integer.class), + @FieldParam(type = "grade", targetField = "grade", targetFieldValueClazz = Integer.class), }) @SysLogger(value="仪表管理信息",optDesc = "查询仪表管理信息") @PostMapping("/findByPage") @@ -61,7 +62,7 @@ public class MeterManageController { return HttpResult.ok(); } - @CacheChanges(value = "device_code_params") +// @CacheChanges(value = "device_code_params") @SysLogger(value="仪表管理信息",optDesc = "删除仪表管理信息") @GetMapping("/deleteById") public HttpResult deleteProInfo(@RequestParam String id) { diff --git a/user-service/src/main/java/com/mh/user/job/DealDataJob.java b/user-service/src/main/java/com/mh/user/job/DealDataJob.java index e50a258..78073c0 100644 --- a/user-service/src/main/java/com/mh/user/job/DealDataJob.java +++ b/user-service/src/main/java/com/mh/user/job/DealDataJob.java @@ -8,6 +8,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.CountDownLatch; /** * @author ljf @@ -71,17 +72,28 @@ public class DealDataJob { } /** - * 定时处理数据:每分钟处理一次,单个项目分别处理 + * 定时处理数据:每分钟处理一次前面两分钟的项目数据,单个项目分别处理 */ @Scheduled(cron = "0 0/1 * * * ?") public void proDataResult() { try { - String curDate= ExchangeStringUtil.dateTime(1,""); - List list=dealDataService.queryProjectId("1"); - if (!list.isEmpty()){ - for(String projectId:list){ - dealDataService.proDataResult(curDate,projectId); //1珠江酒店,2广合,3广大 + // 通过多线程进行处理 + String curDate = ExchangeStringUtil.dateTime(1, ""); + List list = dealDataService.queryProjectId("1"); + if (!list.isEmpty()) { + CountDownLatch latch = new CountDownLatch(list.size()); + for (String projectId : list) { + new Thread(() -> { + try { + dealDataService.proDataResult(curDate, projectId); + } catch (Exception e) { + log.error("能效监测定时汇总异常", e); + } finally { + latch.countDown(); + } + }).start(); } + latch.await(); // 等待所有子线程执行完毕 } log.info("---------能效监测定时汇总,每一分钟!{}", curDate); } catch (Exception e) { diff --git a/user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java b/user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java index d38b563..26e271a 100644 --- a/user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java +++ b/user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java @@ -10,6 +10,7 @@ import com.mh.common.page.PageResult; import com.mh.common.utils.StringUtils; import com.mh.user.entity.MeterManageEntity; import com.mh.user.mapper.MeterManageMapper; +import com.mh.user.service.DeviceCodeParamService; import com.mh.user.service.MeterManageService; import com.mh.user.utils.ExchangeStringUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +32,9 @@ public class MeterManageServiceImpl implements MeterManageService { @Autowired private MeterManageMapper meterManageMapper; + @Autowired + private DeviceCodeParamService deviceCodeParamService; + @Override public List queryBySystemIdAndProjectId(String systemId, String projectId) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -40,7 +44,8 @@ public class MeterManageServiceImpl implements MeterManageService { if (!StringUtils.isBlank(projectId)) { queryWrapper.eq("project_id", projectId); } - queryWrapper.eq("is_use", 1); + // 0正常使用,1停用 + queryWrapper.eq("is_use", 0); return meterManageMapper.selectList(queryWrapper.orderByDesc("create_time")); } @@ -104,7 +109,9 @@ public class MeterManageServiceImpl implements MeterManageService { @Override public void delete(String id) { + MeterManageEntity meterManageEntity = meterManageMapper.selectById(id); meterManageMapper.deleteById(id); + deviceCodeParamService.createCodeParams(meterManageEntity); } @Override diff --git a/user-service/src/main/java/com/mh/user/strategy/ModbusProtocolStrategy.java b/user-service/src/main/java/com/mh/user/strategy/ModbusProtocolStrategy.java index baae6d7..3e3cbc0 100644 --- a/user-service/src/main/java/com/mh/user/strategy/ModbusProtocolStrategy.java +++ b/user-service/src/main/java/com/mh/user/strategy/ModbusProtocolStrategy.java @@ -197,6 +197,7 @@ public void analysisCloudOrder485(final String data, final DeviceCodeParamEntity DataResultChEntity dataResultCh = new DataResultChEntity(); DataResultClEntity dataResultCl = new DataResultClEntity(); String registerAddr = deviceCodeParam.getRegisterAddr(); + int grade = deviceCodeParam.getGrade(); if (ExchangeStringUtil.isInDate(date, "00:00:00", "00:00:30")) { dateStr = dateStr.substring(0, 17) + "00"; System.out.println("插入时间00" + dateStr); @@ -205,10 +206,11 @@ public void analysisCloudOrder485(final String data, final DeviceCodeParamEntity System.out.println("插入时间30" + dateStr); } try { - if (registerAddr.equals("0004") - || registerAddr.equals("0020") - || registerAddr.equals("0073") - || registerAddr.equals("0075")) { +// if (registerAddr.equals("0004") +// || registerAddr.equals("0020") +// || registerAddr.equals("0073") +// || registerAddr.equals("0075")) + if (grade>=140 && grade<=149) { dataResultCh.setDeviceAddr(cloudId); dataResultCh.setDeviceType(deviceCodeParam.getDeviceType()); dataResultCh.setFunCode(deviceCodeParam.getFunCode()); @@ -224,7 +226,10 @@ public void analysisCloudOrder485(final String data, final DeviceCodeParamEntity log.info("冷量计==>{},寄存器地址==>{},读数==>{},项目名称==>{}", cloudId, registerAddr, dataResultCh.getCurValue(), projectName); dataResultService.saveDataResultCh(dataResultCh); log.info("冷量计瞬时冷量/流量保存数据库成功!项目名称:{}", projectName); - } else if (registerAddr.equals("0080") || registerAddr.equals("0077")) { + } +// else if (registerAddr.equals("0080") || registerAddr.equals("0077")) + else if (grade >= 40 && grade <= 49) + { dataResultCl.setDeviceAddr(cloudId); dataResultCl.setDeviceType(deviceCodeParam.getDeviceType()); dataResultCl.setCurDate(sdf1.parse(dateStr)); diff --git a/user-service/src/main/resources/application-dev.yml b/user-service/src/main/resources/application-dev.yml index 0b30945..1260637 100644 --- a/user-service/src/main/resources/application-dev.yml +++ b/user-service/src/main/resources/application-dev.yml @@ -1,5 +1,5 @@ server: - port: 8764 #8764新珠江,8766广合科技,8767广大科技,8768珠江国际,8769保利山庄,8770东莞迎宾馆 + port: 8766 #8764新珠江,8766广合科技,8767广大科技,8768珠江国际,8769保利山庄,8770东莞迎宾馆 spring: application: name: jnd-user-service diff --git a/user-service/src/test/java/com/mh/user/SysUserTest.java b/user-service/src/test/java/com/mh/user/SysUserTest.java index c742479..f4897ce 100644 --- a/user-service/src/test/java/com/mh/user/SysUserTest.java +++ b/user-service/src/test/java/com/mh/user/SysUserTest.java @@ -32,19 +32,21 @@ public class SysUserTest { private static final SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static void main(String[] args) throws ParseException, IOException { - String dateStr = ""; - Date date = new Date(); - if (ExchangeStringUtil.isInDate(date, "00:00:00", "00:00:30")) { - dateStr = sdf1.format(date); - dateStr = dateStr.substring(0, 17) + "00"; - - System.out.println("插入时间00" + dateStr); - } else if (ExchangeStringUtil.isInDate(date, "00:00:30", "00:00:59")) { - dateStr = sdf1.format(date); - dateStr = dateStr.substring(0, 17) + "30"; - - System.out.println("插入时间30" + dateStr); - } + String s = String.valueOf(Math.abs(ExchangeStringUtil.hexToSingle("40AA5048"))); + System.out.println(s); +// String dateStr = ""; +// Date date = new Date(); +// if (ExchangeStringUtil.isInDate(date, "00:00:00", "00:00:30")) { +// dateStr = sdf1.format(date); +// dateStr = dateStr.substring(0, 17) + "00"; +// +// System.out.println("插入时间00" + dateStr); +// } else if (ExchangeStringUtil.isInDate(date, "00:00:30", "00:00:59")) { +// dateStr = sdf1.format(date); +// dateStr = dateStr.substring(0, 17) + "30"; +// +// System.out.println("插入时间30" + dateStr); +// } // // 读取TXT文件中的HTML内容 // String htmlContent = readFile("C:/Users/MH/Desktop/getAir.txt"); //