From 5eeac9f272d1228a328cdae46961834f168f5086 Mon Sep 17 00:00:00 2001
From: huangzhen <867217663@qq.com>
Date: Thu, 22 Feb 2024 16:57:05 +0800
Subject: [PATCH] 增加设备异常短信接收人
---
src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java | 406 +++++++++++++++++++++++++-------------------------
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java | 38 +++-
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/DeviceExceptionLogService.java | 3
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DeviceExceptionLogServiceImpl.java | 5
src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/DeviceExceptionLogRepository.java | 4
5 files changed, 239 insertions(+), 217 deletions(-)
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/DeviceExceptionLogRepository.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/DeviceExceptionLogRepository.java
index 94a1bbf..e7062f8 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/DeviceExceptionLogRepository.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/DeviceExceptionLogRepository.java
@@ -3,6 +3,7 @@
import com.gkhy.fourierSpecialGasMonitor.entity.DeviceExceptionLog;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
/**
@@ -12,4 +13,7 @@
*/
@Repository
public interface DeviceExceptionLogRepository extends JpaRepository<DeviceExceptionLog,Long>, JpaSpecificationExecutor<DeviceExceptionLog> {
+
+ @Query(value="SELECT * FROM device_exception_log a ORDER BY a.time DESC LIMIT 1",nativeQuery= true)
+ DeviceExceptionLog getLastLog();
}
\ No newline at end of file
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java
index bbdc5f9..d4df486 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/TestSchedule.java
@@ -1,203 +1,203 @@
-//package com.gkhy.fourierSpecialGasMonitor.schedule;
-//
-//import com.gkhy.fourierSpecialGasMonitor.controller.DataReceiveController;
-//import com.gkhy.fourierSpecialGasMonitor.entity.req.DeviceMonitorReqDTO;
-//import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasConcentrationReqDTO;
-//import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasFluxReqDTO;
-//import com.gkhy.fourierSpecialGasMonitor.service.DataReceiveService;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.scheduling.annotation.Async;
-//import org.springframework.scheduling.annotation.Scheduled;
-//import org.springframework.stereotype.Component;
-//
-//import javax.annotation.PostConstruct;
-//import java.text.DecimalFormat;
-//import java.time.LocalDateTime;
-//import java.time.format.DateTimeFormatter;
-//import java.util.ArrayList;
-//import java.util.List;
-//import java.util.Random;
-//import java.util.concurrent.TimeUnit;
-//
-///**
-// * @author Mr.huang
-// * @decription
-// * @date 2023/8/22 13:49
-// */
-//@Component
-//public class TestSchedule {
-//
-// private final Logger logger = LoggerFactory.getLogger(this.getClass());
-//
-// @Autowired
-// private DataReceiveService dataReceiveService;
-//
-// private static final DateTimeFormatter execformatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-//
-//
-// //@Scheduled(cron = "1 * * * * ?")
-// //@Async(value = "SocketTaskExecutor")
-// //public void testDeviceMonitor() {
-// // logger.info("【硬件设备一分钟一次推送测试】:" + LocalDateTime.now().format(execformatter));
-// // DeviceMonitorReqDTO deviceMonitorReqDTO = new DeviceMonitorReqDTO();
-// // deviceMonitorReqDTO.setTime(LocalDateTime.now());
-// // deviceMonitorReqDTO.setConState(0);
-// // deviceMonitorReqDTO.setFluxState(0);
-// // List<Integer> list = new ArrayList<>();
-// // list.add(0);
-// // deviceMonitorReqDTO.setHardwareState(list);
-// // dataReceiveService.deviceMonitor(deviceMonitorReqDTO);
-// //}
-//
-//
-// //@Scheduled(cron = "0/30 * * * * ?")
-// //@Async(value = "SocketTaskExecutor")
-// //public void testGasConcentration() {
-// // logger.info("【气体实时浓度推送测试】:"+LocalDateTime.now().format(execformatter));
-// // Random random = new Random();
-// // double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数
-// // DecimalFormat decimalFormat = new DecimalFormat("0.0");
-// // String formattedDouble = decimalFormat.format(randomDouble);
-// // double result = Double.parseDouble(formattedDouble);
-// // UploadGasConcentrationReqDTO dto = new UploadGasConcentrationReqDTO();
-// // dto.setEquipmentId("No-123456");
-// // dto.setTime(LocalDateTime.now());
-// // dto.setType(1);
-// // dto.setLng("东经43");
-// // dto.setLat("北纬53");
-// // dto.setAngle("60");
-// // dto.setTemp(26.9);
-// // dto.setHumidity(63.3);
-// // dto.setWindSpeed(12.3);
-// // dto.setWindDirection(56);
-// // dto.setPressure(200.0);
-// // dto.setGasName01(1);
-// // dto.setGasValue01(result);
-// // dto.setGasName02(2);
-// // dto.setGasValue02(result);
-// // dto.setGasName03(3);
-// // dto.setGasValue03(result);
-// // dto.setGasName04(4);
-// // dto.setGasValue04(result);
-// // dto.setGasName05(5);
-// // dto.setGasValue05(result);
-// // dto.setGasName06(6);
-// // dto.setGasValue06(result);
-// // dto.setGasName07(7);
-// // dto.setGasValue07(result);
-// // dto.setGasName08(8);
-// // dto.setGasValue08(result);
-// // dto.setGasName09(9);
-// // dto.setGasValue09(result);
-// // dto.setGasName10(10);
-// // dto.setGasValue10(result);
-// // dto.setGasName11(11);
-// // dto.setGasValue11(result);
-// // dto.setGasName12(12);
-// // dto.setGasValue12(result);
-// // dto.setGasName13(13);
-// // dto.setGasValue13(result);
-// // dto.setGasName14(14);
-// // dto.setGasValue14(result);
-// // dto.setGasName15(15);
-// // dto.setGasValue15(result);
-// // dto.setGasName16(16);
-// // dto.setGasValue16(result);
-// // dto.setGasName17(17);
-// // dto.setGasValue17(result);
-// // dto.setGasName18(18);
-// // dto.setGasValue18(result);
-// // dto.setGasName19(19);
-// // dto.setGasValue19(result);
-// // dto.setGasName20(20);
-// // dto.setGasValue20(result);
-// // dto.setGasName21(21);
-// // dto.setGasValue21(result);
-// // dto.setGasName22(22);
-// // dto.setGasValue22(result);
-// // dto.setGasName23(23);
-// // dto.setGasValue23(result);
-// // dto.setGasName24(24);
-// // dto.setGasValue24(result);
-// // dto.setGasName25(25);
-// // dto.setGasValue25(result);
-// // dto.setGasName26(26);
-// // dto.setGasValue26(result);
-// // dto.setGasName27(27);
-// // dto.setGasValue27(result);
-// // dto.setGasName28(28);
-// // dto.setGasValue28(result);
-// // dto.setGasName29(29);
-// // dto.setGasValue29(result);
-// // dto.setGasName30(30);
-// // dto.setGasValue30(result);
-// // dataReceiveService.uploadGasConcentration(dto);
-// //}
-//
-// @Autowired
-// private DataReceiveController dataReceiveController;
-//
-// @Scheduled(cron = "0/30 * * * * ?")
-// //@Scheduled(cron = "0 0/15 * * * ?")
-// @Async(value = "SocketTaskExecutor")
-// public void testGasFlux() {
-// logger.info("【气体通量推送测试】:"+LocalDateTime.now().format(execformatter));
-// for (int i = 1; i <= 6 ; i++) {
-// Random random = new Random();
-// double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数
-// DecimalFormat decimalFormat = new DecimalFormat("0.0");
-// String formattedDouble = decimalFormat.format(randomDouble);
-// double result = Double.parseDouble(formattedDouble);
-// UploadGasFluxReqDTO dto = new UploadGasFluxReqDTO();
-// dto.setEquipmentId("No-123456");
-// dto.setTime(LocalDateTime.now());
-// dto.setAreaId(i);
-// dto.setType(1);
-// dto.setWindSpeed(12.3);
-// dto.setWindDirection(56);
-// dto.setGasName01(1);
-// dto.setGasValue01(result);
-// dto.setGasName02(2);
-// dto.setGasValue02(result);
-// dto.setGasName03(3);
-// dto.setGasValue03(result);
-// dto.setGasName04(4);
-// dto.setGasValue04(result);
-// dto.setGasName05(5);
-// dto.setGasValue05(result);
-// dto.setGasName06(6);
-// dto.setGasValue06(result);
-// dto.setGasName07(7);
-// dto.setGasValue07(result);
-// dto.setGasName08(8);
-// dto.setGasValue08(result);
-// dto.setGasName09(9);
-// dto.setGasValue09(result);
-// dto.setGasName10(10);
-// dto.setGasValue10(result);
-// dto.setGasName11(11);
-// dto.setGasValue11(result);
-// dto.setGasName12(12);
-// dto.setGasValue12(result);
-// dto.setGasName13(13);
-// dto.setGasValue13(result);
-// dto.setGasName14(14);
-// dto.setGasValue14(result);
-// dto.setGasName15(15);
-// dto.setGasValue15(result);
-// dto.setGasName16(16);
-// dto.setGasValue16(result);
-// dto.setGasName17(17);
-// dto.setGasValue17(result);
-// dto.setGasName18(18);
-// dto.setGasValue18(result);
-// dto.setGasName19(19);
-// dto.setGasValue19(result);
-// dto.setGasName20(20);
-// dto.setGasValue20(result);
-// dataReceiveController.uploadGasFlux(dto);
-// }
-// }
-//}
\ No newline at end of file
+package com.gkhy.fourierSpecialGasMonitor.schedule;
+
+import com.gkhy.fourierSpecialGasMonitor.controller.DataReceiveController;
+import com.gkhy.fourierSpecialGasMonitor.entity.req.DeviceMonitorReqDTO;
+import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasConcentrationReqDTO;
+import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasFluxReqDTO;
+import com.gkhy.fourierSpecialGasMonitor.service.DataReceiveService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import java.text.DecimalFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/8/22 13:49
+ */
+@Component
+public class TestSchedule {
+
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+ @Autowired
+ private DataReceiveService dataReceiveService;
+
+ private static final DateTimeFormatter execformatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+
+ @Scheduled(cron = "1 * * * * ?")
+ @Async(value = "SocketTaskExecutor")
+ public void testDeviceMonitor() {
+ logger.info("【硬件设备一分钟一次推送测试】:" + LocalDateTime.now().format(execformatter));
+ DeviceMonitorReqDTO deviceMonitorReqDTO = new DeviceMonitorReqDTO();
+ deviceMonitorReqDTO.setTime(LocalDateTime.now());
+ deviceMonitorReqDTO.setConState(1);
+ deviceMonitorReqDTO.setFluxState(0);
+ List<Integer> list = new ArrayList<>();
+ list.add(0);
+ deviceMonitorReqDTO.setHardwareState(list);
+ dataReceiveService.deviceMonitor(deviceMonitorReqDTO);
+ }
+
+
+ //@Scheduled(cron = "0/30 * * * * ?")
+ //@Async(value = "SocketTaskExecutor")
+ //public void testGasConcentration() {
+ // logger.info("【气体实时浓度推送测试】:"+LocalDateTime.now().format(execformatter));
+ // Random random = new Random();
+ // double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数
+ // DecimalFormat decimalFormat = new DecimalFormat("0.0");
+ // String formattedDouble = decimalFormat.format(randomDouble);
+ // double result = Double.parseDouble(formattedDouble);
+ // UploadGasConcentrationReqDTO dto = new UploadGasConcentrationReqDTO();
+ // dto.setEquipmentId("No-123456");
+ // dto.setTime(LocalDateTime.now());
+ // dto.setType(1);
+ // dto.setLng("东经43");
+ // dto.setLat("北纬53");
+ // dto.setAngle("60");
+ // dto.setTemp(26.9);
+ // dto.setHumidity(63.3);
+ // dto.setWindSpeed(12.3);
+ // dto.setWindDirection(56);
+ // dto.setPressure(200.0);
+ // dto.setGasName01(1);
+ // dto.setGasValue01(result);
+ // dto.setGasName02(2);
+ // dto.setGasValue02(result);
+ // dto.setGasName03(3);
+ // dto.setGasValue03(result);
+ // dto.setGasName04(4);
+ // dto.setGasValue04(result);
+ // dto.setGasName05(5);
+ // dto.setGasValue05(result);
+ // dto.setGasName06(6);
+ // dto.setGasValue06(result);
+ // dto.setGasName07(7);
+ // dto.setGasValue07(result);
+ // dto.setGasName08(8);
+ // dto.setGasValue08(result);
+ // dto.setGasName09(9);
+ // dto.setGasValue09(result);
+ // dto.setGasName10(10);
+ // dto.setGasValue10(result);
+ // dto.setGasName11(11);
+ // dto.setGasValue11(result);
+ // dto.setGasName12(12);
+ // dto.setGasValue12(result);
+ // dto.setGasName13(13);
+ // dto.setGasValue13(result);
+ // dto.setGasName14(14);
+ // dto.setGasValue14(result);
+ // dto.setGasName15(15);
+ // dto.setGasValue15(result);
+ // dto.setGasName16(16);
+ // dto.setGasValue16(result);
+ // dto.setGasName17(17);
+ // dto.setGasValue17(result);
+ // dto.setGasName18(18);
+ // dto.setGasValue18(result);
+ // dto.setGasName19(19);
+ // dto.setGasValue19(result);
+ // dto.setGasName20(20);
+ // dto.setGasValue20(result);
+ // dto.setGasName21(21);
+ // dto.setGasValue21(result);
+ // dto.setGasName22(22);
+ // dto.setGasValue22(result);
+ // dto.setGasName23(23);
+ // dto.setGasValue23(result);
+ // dto.setGasName24(24);
+ // dto.setGasValue24(result);
+ // dto.setGasName25(25);
+ // dto.setGasValue25(result);
+ // dto.setGasName26(26);
+ // dto.setGasValue26(result);
+ // dto.setGasName27(27);
+ // dto.setGasValue27(result);
+ // dto.setGasName28(28);
+ // dto.setGasValue28(result);
+ // dto.setGasName29(29);
+ // dto.setGasValue29(result);
+ // dto.setGasName30(30);
+ // dto.setGasValue30(result);
+ // dataReceiveService.uploadGasConcentration(dto);
+ //}
+
+ @Autowired
+ private DataReceiveController dataReceiveController;
+
+ //@Scheduled(cron = "0/30 * * * * ?")
+ ////@Scheduled(cron = "0 0/15 * * * ?")
+ //@Async(value = "SocketTaskExecutor")
+ //public void testGasFlux() {
+ // logger.info("【气体通量推送测试】:"+LocalDateTime.now().format(execformatter));
+ // for (int i = 1; i <= 6 ; i++) {
+ // Random random = new Random();
+ // double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数
+ // DecimalFormat decimalFormat = new DecimalFormat("0.0");
+ // String formattedDouble = decimalFormat.format(randomDouble);
+ // double result = Double.parseDouble(formattedDouble);
+ // UploadGasFluxReqDTO dto = new UploadGasFluxReqDTO();
+ // dto.setEquipmentId("No-123456");
+ // dto.setTime(LocalDateTime.now());
+ // dto.setAreaId(i);
+ // dto.setType(1);
+ // dto.setWindSpeed(12.3);
+ // dto.setWindDirection(56);
+ // dto.setGasName01(1);
+ // dto.setGasValue01(result);
+ // dto.setGasName02(2);
+ // dto.setGasValue02(result);
+ // dto.setGasName03(3);
+ // dto.setGasValue03(result);
+ // dto.setGasName04(4);
+ // dto.setGasValue04(result);
+ // dto.setGasName05(5);
+ // dto.setGasValue05(result);
+ // dto.setGasName06(6);
+ // dto.setGasValue06(result);
+ // dto.setGasName07(7);
+ // dto.setGasValue07(result);
+ // dto.setGasName08(8);
+ // dto.setGasValue08(result);
+ // dto.setGasName09(9);
+ // dto.setGasValue09(result);
+ // dto.setGasName10(10);
+ // dto.setGasValue10(result);
+ // dto.setGasName11(11);
+ // dto.setGasValue11(result);
+ // dto.setGasName12(12);
+ // dto.setGasValue12(result);
+ // dto.setGasName13(13);
+ // dto.setGasValue13(result);
+ // dto.setGasName14(14);
+ // dto.setGasValue14(result);
+ // dto.setGasName15(15);
+ // dto.setGasValue15(result);
+ // dto.setGasName16(16);
+ // dto.setGasValue16(result);
+ // dto.setGasName17(17);
+ // dto.setGasValue17(result);
+ // dto.setGasName18(18);
+ // dto.setGasValue18(result);
+ // dto.setGasName19(19);
+ // dto.setGasValue19(result);
+ // dto.setGasName20(20);
+ // dto.setGasValue20(result);
+ // dataReceiveController.uploadGasFlux(dto);
+ // }
+ //}
+}
\ No newline at end of file
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/DeviceExceptionLogService.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/DeviceExceptionLogService.java
index 141b19e..123a731 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/DeviceExceptionLogService.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/DeviceExceptionLogService.java
@@ -15,4 +15,7 @@
Result deviceExcLogPage(PageQuery<DeviceExcLogPageQuery> pageQuery);
+ DeviceExceptionLog getLastLog();
+
+
}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java
index 5ed0334..1d21ddf 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DataReceiveServiceImpl.java
@@ -40,10 +40,7 @@
import java.text.MessageFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
@@ -121,6 +118,8 @@
private static final DateTimeFormatter warnLogFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
+ @Value("${sms.send.deviceExcReceiver}")
+ private static final String[] DEVICE_EXC_RECEIVER = {"17625323889","18019908965"};
@PostConstruct
public void init() {
@@ -206,24 +205,35 @@
logger.info("【警告】设备异常提醒推送>>>>>>>>>>>>>>>>>>失败");
}
if (push){
- //todo 线上环境还是异常才向前端推送
- //String message = JSON.toJSONString(reqDTO);
- //try {
- // GasDeviceExcWebsocketServer.sendInfo(message,null);
- //} catch (IOException e) {
- // logger.info("【警告】设备异常提醒推送>>>>>>>>>>>>>>>>>>失败");
- //}
+ DeviceExceptionLog lastLog = deviceExceptionLogService.getLastLog();
+ LocalDateTime now = LocalDateTime.now();
+ if (lastLog == null || now.compareTo(lastLog.getTime().plusHours(1)) >= 0) {
+ Map<String, String> mesMap = new HashMap<>();
+ mesMap.put("message","数据异常,无法进行监测");
+ mesMap.put(" level","设备离线");
+ //// TODO: 2024/2/22
+ List<String> deviceExcReceiver = Arrays.asList(DEVICE_EXC_RECEIVER);
+ if (!CollectionUtils.isEmpty(deviceExcReceiver)) {
+ List<String> distinctPhone = deviceExcReceiver.stream().distinct().collect(Collectors.toList());
+ logger.info("【气体浓度异常短信发送】-----发送内容:" + "数据异常,无法进行监测 气体浓度连续超标,系统判断为设备离线,请相关负责人及时检查处置。"
+ + " 发送时间: " + LocalDateTime.now()+ " 接收人手机号:" + distinctPhone);
+ if (!org.springframework.util.StringUtils.isEmpty(smsSendEnabledStatus) && "true".equals(smsSendEnabledStatus)) {
+ sendMessageUtil.sendMessageCheck(deviceExcReceiver.toArray(new String[deviceExcReceiver.size()]), mesMap);
+ }
+ }
+ }
String execInfo = JSON.toJSONString(descs);
logger.info("【警告】设备异常,异常原因: "+ execInfo);
DeviceExceptionLog log = new DeviceExceptionLog();
- LocalDateTime now = LocalDateTime.now();
String content = MessageFormat.format(deviceExcLogFormat,deviceExcLogFormatter.format(now));
log.setContent(content);
log.setTime(now);
log.setExecDesc(execInfo);
DeviceExceptionLog save = deviceExceptionLogService.save(log);
- if (save == null)
+ if (save == null) {
logger.info("【警告】设备异常日志保存>>>>>>>>>>>>>>>>>>失败");
+ }
+
}
return ForeignResult.success();
}
@@ -360,7 +370,7 @@
throw new DataReceiveException(this.getClass(), ForeignResultCode.SYSTEM_ERROR_DATABASE_FAIL.getCode(),"预警异常短信接收人保存失败");
Map<String, String> mesMap = new HashMap<>();
mesMap.put("message",warnTime+" "+gasCategory.getName());
- mesMap.put("level",warnThresholdName);
+ mesMap.put(" level",warnThresholdName);
//todo
if (!CollectionUtils.isEmpty(phone)) {
List<String> distinctPhone = phone.stream().distinct().collect(Collectors.toList());
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DeviceExceptionLogServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DeviceExceptionLogServiceImpl.java
index 0acbeb4..944316e 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DeviceExceptionLogServiceImpl.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/DeviceExceptionLogServiceImpl.java
@@ -68,4 +68,9 @@
searchResult.setData(pageResult.getContent());
return searchResult;
}
+
+ @Override
+ public DeviceExceptionLog getLastLog() {
+ return deviceExceptionLogRepository.getLastLog();
+ }
}
\ No newline at end of file
--
Gitblit v1.9.2