From 79013dc906b9b01a2b61ff089397a3fb1e83e6c9 Mon Sep 17 00:00:00 2001 From: chenlinghy Date: Thu, 24 Aug 2023 22:56:22 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BB=BB=E5=8A=A1=E6=89=A7=E8=A1=8C=202.?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +- .../beidouservice/common/EnumerationBase.java | 1 + .../common/impl/AlarmControlTypeName.java | 11 + .../common/impl/AlarmModeName.java | 11 + .../common/impl/AlarmTypeName.java | 11 + .../common/impl/SensorControlTunnelName.java | 2 + .../common/impl/TaskStatusName.java | 2 + .../constenum/ApprovalStatusEnum.java | 39 +++ .../controller/DeviceController.java | 36 +-- .../controller/DeviceTaskController.java | 30 +- .../mapper/AlarmDeviceTaskMapper.java | 19 ++ .../beidouservice/mapper/AlarmTaskMapper.java | 15 + .../mapper/DevAttributesMapper.java | 17 -- .../mapper/DevBasicInfoMapper.java | 17 -- .../beidouservice/mapper/DevTaskMapper.java | 15 - .../beidouservice/mapper/DeviceMapper.java | 19 ++ .../beidouservice/mapper/LocCityMapper.java | 6 +- .../beidouservice/mapper/LocCountyMapper.java | 4 +- .../mapper/LocProvinceMapper.java | 2 +- .../mapper/SystemConfigMapper.java | 18 ++ .../zjyr/beidouservice/mapper/TaskMapper.java | 12 - .../pojo/dataobject/AlarmDeviceTaskDO.java | 47 ++++ .../pojo/dataobject/AlarmTaskDO.java | 68 +++++ .../pojo/dataobject/DevAttributesDO.java | 54 ---- .../pojo/dataobject/DevBasicInfoDO.java | 48 ---- .../pojo/dataobject/DevTaskDO.java | 32 --- .../pojo/dataobject/DeviceDO.java | 110 ++++++++ .../pojo/dataobject/LocCityDO.java | 7 +- .../pojo/dataobject/LocCountyDO.java | 10 +- .../pojo/dataobject/LocProvinceDO.java | 3 +- .../pojo/dataobject/SystemConfigDO.java | 36 +++ .../beidouservice/pojo/dataobject/TaskDO.java | 38 --- ...ByLocDTO.java => DeviceByLocationDTO.java} | 8 +- .../beidouservice/pojo/dto/DeviceInfoDTO.java | 32 +++ .../beidouservice/pojo/dto/DeviceReqDTO.java | 25 +- .../beidouservice/pojo/dto/DeviceRespDTO.java | 44 ++- .../pojo/dto/DeviceSearchDTO.java | 17 ++ .../pojo/dto/DeviceTaskContentDTO.java | 1 - .../pojo/dto/DeviceTaskExecReqDTO.java | 26 -- .../pojo/dto/city/CityCountyDTO.java | 5 +- .../pojo/dto/city/CitySearchDTO.java | 4 +- .../pojo/dto/city/CountyContent.java | 2 +- .../pojo/dto/province/CityContentDTO.java | 2 +- .../dto/province/OnlyProvinceContentDTO.java | 2 +- .../pojo/dto/province/ProvinceContent.java | 2 +- .../pojo/dto/province/ProvinceSearchDTO.java | 2 +- .../pojo/dto/task/AlarmTaskReqDTO.java | 62 +++++ .../service/AlarmTaskService.java | 19 ++ .../beidouservice/service/DeviceService.java | 20 +- .../service/DeviceTaskService.java | 14 - .../service/LocationService.java | 1 - .../service/impl/AlarmTaskServiceImpl.java | 259 ++++++++++++++++++ .../service/impl/DeviceServiceImpl.java | 137 +++------ .../service/impl/DeviceTaskServiceImpl.java | 107 -------- .../service/impl/LocationServiceImpl.java | 20 +- .../mappers/AlarmDevideTaskMapper.xml | 27 ++ .../resources/mappers/AlarmTaskMapper.xml | 91 ++++++ .../{SensorTask.xml => AlarmTaskService.xml} | 0 .../resources/mappers/DevAttributesMapper.xml | 49 ---- src/main/resources/mappers/DevTaskMapper.xml | 26 -- ...evBasicInfoMapper.xml => DeviceMapper.xml} | 51 ++-- src/main/resources/mappers/LocCityMapper.xml | 26 +- .../resources/mappers/LocCountyMapper.xml | 1 + .../resources/mappers/LocProvinceMapper.xml | 4 +- .../resources/mappers/SystemConfigMapper.xml | 35 +++ src/main/resources/mappers/TaskMapper.xml | 26 -- 66 files changed, 1190 insertions(+), 704 deletions(-) create mode 100644 src/main/java/com/zjyr/beidouservice/constenum/ApprovalStatusEnum.java create mode 100644 src/main/java/com/zjyr/beidouservice/mapper/AlarmDeviceTaskMapper.java create mode 100644 src/main/java/com/zjyr/beidouservice/mapper/AlarmTaskMapper.java delete mode 100644 src/main/java/com/zjyr/beidouservice/mapper/DevAttributesMapper.java delete mode 100644 src/main/java/com/zjyr/beidouservice/mapper/DevBasicInfoMapper.java delete mode 100644 src/main/java/com/zjyr/beidouservice/mapper/DevTaskMapper.java create mode 100644 src/main/java/com/zjyr/beidouservice/mapper/DeviceMapper.java create mode 100644 src/main/java/com/zjyr/beidouservice/mapper/SystemConfigMapper.java delete mode 100644 src/main/java/com/zjyr/beidouservice/mapper/TaskMapper.java create mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dataobject/AlarmDeviceTaskDO.java create mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dataobject/AlarmTaskDO.java delete mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevAttributesDO.java delete mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevBasicInfoDO.java delete mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevTaskDO.java create mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dataobject/DeviceDO.java create mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dataobject/SystemConfigDO.java delete mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dataobject/TaskDO.java rename src/main/java/com/zjyr/beidouservice/pojo/dto/{DeviceInfoByLocDTO.java => DeviceByLocationDTO.java} (65%) create mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceInfoDTO.java create mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceSearchDTO.java delete mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceTaskExecReqDTO.java create mode 100644 src/main/java/com/zjyr/beidouservice/pojo/dto/task/AlarmTaskReqDTO.java create mode 100644 src/main/java/com/zjyr/beidouservice/service/AlarmTaskService.java delete mode 100644 src/main/java/com/zjyr/beidouservice/service/DeviceTaskService.java create mode 100644 src/main/java/com/zjyr/beidouservice/service/impl/AlarmTaskServiceImpl.java delete mode 100644 src/main/java/com/zjyr/beidouservice/service/impl/DeviceTaskServiceImpl.java create mode 100644 src/main/resources/mappers/AlarmDevideTaskMapper.xml create mode 100644 src/main/resources/mappers/AlarmTaskMapper.xml rename src/main/resources/mappers/{SensorTask.xml => AlarmTaskService.xml} (100%) delete mode 100644 src/main/resources/mappers/DevAttributesMapper.xml delete mode 100644 src/main/resources/mappers/DevTaskMapper.xml rename src/main/resources/mappers/{DevBasicInfoMapper.xml => DeviceMapper.xml} (54%) create mode 100644 src/main/resources/mappers/SystemConfigMapper.xml delete mode 100644 src/main/resources/mappers/TaskMapper.xml diff --git a/pom.xml b/pom.xml index 5c33442..5de64df 100644 --- a/pom.xml +++ b/pom.xml @@ -116,7 +116,12 @@ snakeyaml 2.1 - + + org.mapstruct + mapstruct + 1.5.3.Final + + diff --git a/src/main/java/com/zjyr/beidouservice/common/EnumerationBase.java b/src/main/java/com/zjyr/beidouservice/common/EnumerationBase.java index 34947ab..b7a6c51 100644 --- a/src/main/java/com/zjyr/beidouservice/common/EnumerationBase.java +++ b/src/main/java/com/zjyr/beidouservice/common/EnumerationBase.java @@ -4,4 +4,5 @@ public interface EnumerationBase { Integer getValue(); String getDescription(); + } diff --git a/src/main/java/com/zjyr/beidouservice/common/impl/AlarmControlTypeName.java b/src/main/java/com/zjyr/beidouservice/common/impl/AlarmControlTypeName.java index 067d77f..3b33b1f 100644 --- a/src/main/java/com/zjyr/beidouservice/common/impl/AlarmControlTypeName.java +++ b/src/main/java/com/zjyr/beidouservice/common/impl/AlarmControlTypeName.java @@ -29,4 +29,15 @@ public enum AlarmControlTypeName implements EnumerationBase { public String getDescription() { return this.desc; } + + // 根据code值获取枚举类型 + public static AlarmControlTypeName getByCode(int code) { + for (AlarmControlTypeName myEnum : AlarmControlTypeName.values()) { + if (myEnum.getValue() == code) { + return myEnum; + } + } + // 如果找不到对应的枚举类型,可以根据具体需求抛出异常或者返回null + throw new IllegalArgumentException("Invalid code: " + code); + } } diff --git a/src/main/java/com/zjyr/beidouservice/common/impl/AlarmModeName.java b/src/main/java/com/zjyr/beidouservice/common/impl/AlarmModeName.java index dcb74e8..6629760 100644 --- a/src/main/java/com/zjyr/beidouservice/common/impl/AlarmModeName.java +++ b/src/main/java/com/zjyr/beidouservice/common/impl/AlarmModeName.java @@ -25,4 +25,15 @@ public enum AlarmModeName implements EnumerationBase { public String getDescription() { return this.desc; } + + // 根据code值获取枚举类型 + public static AlarmModeName getByCode(int code) { + for (AlarmModeName myEnum : AlarmModeName.values()) { + if (myEnum.getValue() == code) { + return myEnum; + } + } + // 如果找不到对应的枚举类型,可以根据具体需求抛出异常或者返回null + throw new IllegalArgumentException("Invalid code: " + code); + } } diff --git a/src/main/java/com/zjyr/beidouservice/common/impl/AlarmTypeName.java b/src/main/java/com/zjyr/beidouservice/common/impl/AlarmTypeName.java index e3869d4..b4cfbf8 100644 --- a/src/main/java/com/zjyr/beidouservice/common/impl/AlarmTypeName.java +++ b/src/main/java/com/zjyr/beidouservice/common/impl/AlarmTypeName.java @@ -28,4 +28,15 @@ public enum AlarmTypeName implements EnumerationBase { public String getDescription() { return this.desc; } + + // 根据code值获取枚举类型 + public static AlarmTypeName getByCode(int code) { + for (AlarmTypeName myEnum : AlarmTypeName.values()) { + if (myEnum.getValue() == code) { + return myEnum; + } + } + // 如果找不到对应的枚举类型,可以根据具体需求抛出异常或者返回null + throw new IllegalArgumentException("Invalid code: " + code); + } } diff --git a/src/main/java/com/zjyr/beidouservice/common/impl/SensorControlTunnelName.java b/src/main/java/com/zjyr/beidouservice/common/impl/SensorControlTunnelName.java index 28c7a4d..6e38819 100644 --- a/src/main/java/com/zjyr/beidouservice/common/impl/SensorControlTunnelName.java +++ b/src/main/java/com/zjyr/beidouservice/common/impl/SensorControlTunnelName.java @@ -8,6 +8,8 @@ public enum SensorControlTunnelName implements EnumerationBase { TUNNEL_WIRELESS(2, "Wireless tunnel"), TUNNEL_TEL(4, "Telephone tunnel"), + + TUNNEL_ALL(7,"All") ; private final Integer code; diff --git a/src/main/java/com/zjyr/beidouservice/common/impl/TaskStatusName.java b/src/main/java/com/zjyr/beidouservice/common/impl/TaskStatusName.java index f4b0ae6..e53f6ff 100644 --- a/src/main/java/com/zjyr/beidouservice/common/impl/TaskStatusName.java +++ b/src/main/java/com/zjyr/beidouservice/common/impl/TaskStatusName.java @@ -10,6 +10,8 @@ public enum TaskStatusName implements EnumerationBase { TASK_TIMEOUT(2, "TASK_TIMEOUT"), TASK_UNRESPONSE(3, "TASK_UNRESPONSE"), + + TASK_EXECUTING(4, "TASK_EXECUTING") ; private final Integer code; diff --git a/src/main/java/com/zjyr/beidouservice/constenum/ApprovalStatusEnum.java b/src/main/java/com/zjyr/beidouservice/constenum/ApprovalStatusEnum.java new file mode 100644 index 0000000..0841ba8 --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/constenum/ApprovalStatusEnum.java @@ -0,0 +1,39 @@ +package com.zjyr.beidouservice.constenum; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +@Getter +@AllArgsConstructor +public enum ApprovalStatusEnum { + APPROVAL_PENDING(1, "待审批"), + APPROVAL_SUCCESS(2, "审批通过"), + APPROVAL_FAIL(3, "审批拒绝"); + + + private final Integer code; + private final String msg; + + public static String getByCode(Integer code) { + ApprovalStatusEnum[] values = ApprovalStatusEnum.values(); + for (ApprovalStatusEnum v : values) { + if (code.equals(v.getCode())) { + return v.getMsg(); + } + } + return null; + } + + public static List getAllCodes() { + ApprovalStatusEnum[] values = ApprovalStatusEnum.values(); + List codes = new ArrayList<>(); + for (ApprovalStatusEnum v : values) { + codes.add(v.getCode()); + } + return codes; + } + +} diff --git a/src/main/java/com/zjyr/beidouservice/controller/DeviceController.java b/src/main/java/com/zjyr/beidouservice/controller/DeviceController.java index f009253..efd1366 100644 --- a/src/main/java/com/zjyr/beidouservice/controller/DeviceController.java +++ b/src/main/java/com/zjyr/beidouservice/controller/DeviceController.java @@ -1,10 +1,10 @@ package com.zjyr.beidouservice.controller; + import com.zjyr.beidouservice.pojo.MyResp; -import com.zjyr.beidouservice.pojo.dto.AlarmDevRespDTO; import com.zjyr.beidouservice.pojo.dto.DeviceReqDTO; import com.zjyr.beidouservice.pojo.dto.DeviceRespDTO; -import com.zjyr.beidouservice.pojo.dto.ManufacturerRespDTO; +import com.zjyr.beidouservice.pojo.dto.DeviceSearchDTO; import com.zjyr.beidouservice.service.DeviceService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; + @RestController @RequestMapping("/") @Validated @@ -25,24 +26,25 @@ public class DeviceController { @Resource DeviceService deviceService; + /** + * 根据省份、地市和区域信息获取设备 + * + * @return 设备列表 + */ @PostMapping("device/location") - public MyResp> getDeviceInfo(@RequestBody DeviceReqDTO deviceReqDTO) { - List deviceRespDTO = deviceService.getDeviceInfo(deviceReqDTO); + public MyResp> getDeviceByLocation(@RequestBody DeviceReqDTO deviceReqDTO) { + List deviceRespDTO = deviceService.getDeviceByLocation(deviceReqDTO); return MyResp.success(deviceRespDTO); } - @PostMapping("device/manufacturer") - public MyResp getDeviceManufacturerInfo() { - ManufacturerRespDTO manufacturerRes = deviceService.getDeviceManufacturerInfo(); - return MyResp.success(manufacturerRes); - + /** + * 根据设备id获取设备信息 + * + * @return 设备 + */ + @PostMapping("device/info/deviceId") + public MyResp getDeviceByDeviceId(@RequestBody DeviceSearchDTO deviceSearchDTO) { + DeviceRespDTO deviceRespDTO = deviceService.getDeviceByDeviceId(deviceSearchDTO); + return MyResp.success(deviceRespDTO); } - - @PostMapping("alarm/device") - public MyResp getAlarmDeviceInfo() { - AlarmDevRespDTO alarmDevRespDTO = deviceService.getAlarmDeviceInfo(); - return MyResp.success(alarmDevRespDTO); - - } - } diff --git a/src/main/java/com/zjyr/beidouservice/controller/DeviceTaskController.java b/src/main/java/com/zjyr/beidouservice/controller/DeviceTaskController.java index 526b739..73f0577 100644 --- a/src/main/java/com/zjyr/beidouservice/controller/DeviceTaskController.java +++ b/src/main/java/com/zjyr/beidouservice/controller/DeviceTaskController.java @@ -1,18 +1,17 @@ package com.zjyr.beidouservice.controller; import com.zjyr.beidouservice.pojo.MyResp; -import com.zjyr.beidouservice.pojo.dto.DevTaskExecRespDTO; -import com.zjyr.beidouservice.pojo.dto.DeviceTaskExecReqDTO; -import com.zjyr.beidouservice.pojo.dto.DeviceTaskRespDTO; -import com.zjyr.beidouservice.service.DeviceTaskService; + +import com.zjyr.beidouservice.pojo.dto.task.AlarmTaskReqDTO; +import com.zjyr.beidouservice.service.AlarmTaskService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; @RestController @RequestMapping("/") @@ -21,19 +20,18 @@ import java.util.List; public class DeviceTaskController { @Resource - DeviceTaskService deviceTaskService; + AlarmTaskService alarmTaskService; - - @PostMapping("task/info") - public MyResp> getDeviceTaskInfo() { - List deviceTaskRespDTOS = deviceTaskService.getDeviceTaskInfo(); - return MyResp.success(deviceTaskRespDTOS); + /** + * 执行告警任务 + * + * @param alarmTaskReqDTO alarmTaskReqDTO + * @return MyResp + */ + @PostMapping("/alarm/task/exec") + public MyResp alarmTaskExec(@RequestBody AlarmTaskReqDTO alarmTaskReqDTO) { + return alarmTaskService.alarmTaskExec(alarmTaskReqDTO); } - @PostMapping("task/exec") - public MyResp deviceTaskExec(DeviceTaskExecReqDTO deviceTaskExecReqDTO) { - DevTaskExecRespDTO deviceTaskExecResp = deviceTaskService.deviceTaskExec(deviceTaskExecReqDTO); - return MyResp.success(deviceTaskExecResp); - } } diff --git a/src/main/java/com/zjyr/beidouservice/mapper/AlarmDeviceTaskMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/AlarmDeviceTaskMapper.java new file mode 100644 index 0000000..a28bf16 --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/mapper/AlarmDeviceTaskMapper.java @@ -0,0 +1,19 @@ +package com.zjyr.beidouservice.mapper; + +import com.zjyr.beidouservice.pojo.dataobject.AlarmDeviceTaskDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface AlarmDeviceTaskMapper { + + /** + * Add alarm device task info list int. + * + * @param taskLists the task lists + * @return the int + */ + int addAlarmDevTaskInfoList(@Param("taskLists") List taskLists); +} diff --git a/src/main/java/com/zjyr/beidouservice/mapper/AlarmTaskMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/AlarmTaskMapper.java new file mode 100644 index 0000000..6d5444d --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/mapper/AlarmTaskMapper.java @@ -0,0 +1,15 @@ +package com.zjyr.beidouservice.mapper; + +import com.zjyr.beidouservice.pojo.dataobject.AlarmTaskDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AlarmTaskMapper { + /** + * 新增告警任务 + * + * @param alarmTaskDO alarmTaskDO + * @return int + */ + int addAlarmTask(AlarmTaskDO alarmTaskDO); +} diff --git a/src/main/java/com/zjyr/beidouservice/mapper/DevAttributesMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/DevAttributesMapper.java deleted file mode 100644 index cfe743e..0000000 --- a/src/main/java/com/zjyr/beidouservice/mapper/DevAttributesMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.zjyr.beidouservice.mapper; - -import com.zjyr.beidouservice.pojo.dataobject.DevAttributesDO; -import com.zjyr.beidouservice.pojo.dto.DevMaunDTO; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -@Mapper -public interface DevAttributesMapper { - - List selectManuByManufacturer(@Param("deviceId") Long deviceId, @Param("manufacturer") String manufacturer); - - - List selectManuAll(); -} diff --git a/src/main/java/com/zjyr/beidouservice/mapper/DevBasicInfoMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/DevBasicInfoMapper.java deleted file mode 100644 index b538c78..0000000 --- a/src/main/java/com/zjyr/beidouservice/mapper/DevBasicInfoMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.zjyr.beidouservice.mapper; - -import com.zjyr.beidouservice.pojo.dataobject.DevBasicInfoDO; -import com.zjyr.beidouservice.pojo.dto.DeviceInfoByLocDTO; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -@Mapper -public interface DevBasicInfoMapper { - - List selectDeviceByLoc(DeviceInfoByLocDTO deviceInfoByLocDTO); - - - DevBasicInfoDO selectDeviceByDeviceId(@Param("deviceId") Long deviceId); -} diff --git a/src/main/java/com/zjyr/beidouservice/mapper/DevTaskMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/DevTaskMapper.java deleted file mode 100644 index 2195ddb..0000000 --- a/src/main/java/com/zjyr/beidouservice/mapper/DevTaskMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.zjyr.beidouservice.mapper; - -import com.zjyr.beidouservice.pojo.dataobject.DevTaskDO; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -@Mapper -public interface DevTaskMapper { - - List selectDevTaskByTaskId(@Param("taskId") String taskId); - - -} diff --git a/src/main/java/com/zjyr/beidouservice/mapper/DeviceMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/DeviceMapper.java new file mode 100644 index 0000000..536744d --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/mapper/DeviceMapper.java @@ -0,0 +1,19 @@ +package com.zjyr.beidouservice.mapper; + +import com.zjyr.beidouservice.pojo.dataobject.DeviceDO; +import com.zjyr.beidouservice.pojo.dto.DeviceByLocationDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + + +import java.util.List; + +@Mapper +public interface DeviceMapper { + + List selectDeviceByLoc(DeviceByLocationDTO deviceByLocationDTO); + + + DeviceDO selectDeviceByDeviceId(@Param("deviceId") Long deviceId); +} + diff --git a/src/main/java/com/zjyr/beidouservice/mapper/LocCityMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/LocCityMapper.java index d9c7c26..0de77f5 100644 --- a/src/main/java/com/zjyr/beidouservice/mapper/LocCityMapper.java +++ b/src/main/java/com/zjyr/beidouservice/mapper/LocCityMapper.java @@ -9,8 +9,10 @@ import java.util.List; @Mapper public interface LocCityMapper { - List selectCityByProvince(@Param("provinceCode") String provinceCode); + List selectCityByProvince(@Param("provinceCode") Integer provinceCode); + + List selectCitys(@Param("provinceCode") Integer provinceCode); - List selectCity(@Param("provinceCode") String provinceCode, @Param("cityCode") String cityCode); + List selectCity(@Param("provinceCode") Integer provinceCode, @Param("cityCode") Integer cityCode); } diff --git a/src/main/java/com/zjyr/beidouservice/mapper/LocCountyMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/LocCountyMapper.java index d000ebe..029777b 100644 --- a/src/main/java/com/zjyr/beidouservice/mapper/LocCountyMapper.java +++ b/src/main/java/com/zjyr/beidouservice/mapper/LocCountyMapper.java @@ -1,5 +1,6 @@ package com.zjyr.beidouservice.mapper; +import com.zjyr.beidouservice.pojo.dataobject.LocCityDO; import com.zjyr.beidouservice.pojo.dataobject.LocCountyDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -9,5 +10,6 @@ import java.util.List; @Mapper public interface LocCountyMapper { - List selectCountyByCity(@Param("provinceCode") String provinceCode, @Param("cityCode") String cityCode); + List selectCountyByCity(@Param("provinceCode") Integer provinceCode, @Param("cityCode") Integer cityCode); + } diff --git a/src/main/java/com/zjyr/beidouservice/mapper/LocProvinceMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/LocProvinceMapper.java index d4858be..fd0020e 100644 --- a/src/main/java/com/zjyr/beidouservice/mapper/LocProvinceMapper.java +++ b/src/main/java/com/zjyr/beidouservice/mapper/LocProvinceMapper.java @@ -11,5 +11,5 @@ public interface LocProvinceMapper { List selectAllProvince(); - List selectProvince(@Param("provinceCode") String provinceCode); + List selectProvince(@Param("provinceCode") Integer provinceCode); } diff --git a/src/main/java/com/zjyr/beidouservice/mapper/SystemConfigMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/SystemConfigMapper.java new file mode 100644 index 0000000..32dfdea --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/mapper/SystemConfigMapper.java @@ -0,0 +1,18 @@ +package com.zjyr.beidouservice.mapper; + + +import com.zjyr.beidouservice.pojo.dataobject.SystemConfigDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface SystemConfigMapper { + + int addConfig(@Param("name") String name, @Param("value") String value); + + int updateConfig(@Param("name") String name, @Param("value") String value); + + SystemConfigDO getConfigByName(@Param("name") String name); + + +} diff --git a/src/main/java/com/zjyr/beidouservice/mapper/TaskMapper.java b/src/main/java/com/zjyr/beidouservice/mapper/TaskMapper.java deleted file mode 100644 index cccf557..0000000 --- a/src/main/java/com/zjyr/beidouservice/mapper/TaskMapper.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.zjyr.beidouservice.mapper; - -import com.zjyr.beidouservice.pojo.dataobject.TaskDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -@Mapper -public interface TaskMapper { - - List selectAllTask(); -} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/AlarmDeviceTaskDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/AlarmDeviceTaskDO.java new file mode 100644 index 0000000..f32d37b --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/AlarmDeviceTaskDO.java @@ -0,0 +1,47 @@ +package com.zjyr.beidouservice.pojo.dataobject; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class AlarmDeviceTaskDO { + /** + * 自增长id + */ + private Long id; + + /** + * 记录编号 + */ + private String taskId; + + /** + * 设备id + */ + private Integer deviceId; + + /** + * 控制通道。2:无线 3:北斗 4:电话 5:all + */ + private Integer controlChannel; + + /** + * 发放时间 + */ + private Date sendTime; + + /** + * 执行状态 + */ + private Integer status; + + /** + * 回示时间 + */ + private Date reportTime; +} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/AlarmTaskDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/AlarmTaskDO.java new file mode 100644 index 0000000..0444293 --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/AlarmTaskDO.java @@ -0,0 +1,68 @@ +package com.zjyr.beidouservice.pojo.dataobject; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AlarmTaskDO { + /** + * 自增长id + */ + private Long id; + + /** + * 记录编号 + */ + private String taskId; + + /** + * 警报类型 1:语言广播 2:警报发送 3:警报试鸣,默认警报发送2 + */ + private Integer alarmType; + + /** + * 警报种类 1:预先警报 2:空袭警报 3:灾情警 4:解除警报灾 5:解除警报 + */ + private Integer alarmKind; + + /** + * 警报区域 + */ + private String alarmCounty; + + /** + * 设备id.包含多个设备信息 + */ + private String deviceIds; + + /** + * 警报方式 1:人工 2:定时,默认人工 + */ + private Integer alarmMode; + + /** + * 控制通道。2:无线 3:北斗 4:电话 5:all + */ + private Integer controlChannel; + + /** + * 发放人 + */ + private String sender; + /** + * 发放时间 + */ + private Date sendTime; + /** + * 审批状态 1:待审批 2:审批通过 3:审批拒绝 + */ + private Integer approvalStatus; + +} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevAttributesDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevAttributesDO.java deleted file mode 100644 index 3f61fa5..0000000 --- a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevAttributesDO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.zjyr.beidouservice.pojo.dataobject; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Date; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class DevAttributesDO { - private Long id; - - private Long deviceId; - - private Integer deviceStatus; - - private String alarmModel; - - private String alarmStatus; - - private Integer alarmType; - - private Integer alarmPower; - - private Integer alarmManufacturer; - - private Date alarmInstallTime; - - private String controlModel; - private Integer controlStatus; - - private Integer controlManufacturer; - - private Date controlInstallTime; - - private String powerModel; - - private Integer powerStatus; - - private Integer powerType; - - private Integer power; - - private Integer powerManufacturer; - - private Date powerInstallTime; - - private Date createTime; - private Date updateTime; - - -} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevBasicInfoDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevBasicInfoDO.java deleted file mode 100644 index f27e40a..0000000 --- a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevBasicInfoDO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.zjyr.beidouservice.pojo.dataobject; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.Date; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class DevBasicInfoDO implements Serializable { - private Long id; - - private Long deviceId; - - private String deviceName; - - private String deviceDesc; - - private String provinceCode; - - private String cityCode; - - private String countyCode; - - private String subordinateUnits; - - private Integer controlStationId; - - private String administrator; - - private String mobile; - - private String installAddr; - - private String latitude; - - private String longitude; - - private String devData; - - private Date createTime; - private Date updateTime; - - -} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevTaskDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevTaskDO.java deleted file mode 100644 index 29051fe..0000000 --- a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DevTaskDO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.zjyr.beidouservice.pojo.dataobject; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Date; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class DevTaskDO { - private Long id; - - private String taskId; - - private Integer controlMode; - - private String countyCode; - - private Integer controlType; - - private Long deviceId; - - private String deviceName; - - private String execCmd; - - private Integer execState; - private Date createTime; - private Date updateTime; -} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DeviceDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DeviceDO.java new file mode 100644 index 0000000..c368388 --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/DeviceDO.java @@ -0,0 +1,110 @@ +package com.zjyr.beidouservice.pojo.dataobject; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceDO { + /** + * 自增长id + */ + private Long id; + + /** + * 设备id + */ + private Integer deviceId; + /** + * 本机北斗ID + */ + private Integer beidouId; + + /** + * 终端名称 + */ + private String deviceName; + + /** + * 通波号 + */ + private Integer directDialing; + + /** + * 经度 + */ + private Float latitude; + + /** + * 纬度 + */ + private Float longitude; + + /** + * 所属街道 + */ + private String streetCode; + /** + * 所属区县 + */ + private Integer countyCode; + /** + * 所属地市 + */ + private Integer cityCode; + + /** + * 所属省份 + */ + private Integer provinceCode; + + /** + * 信号强度 + */ + private Integer signalStrength; + + /** + * 安装地址 + */ + private String installSite; + /** + * 安装地联系人 + */ + private String mobile; + /** + * 安装时间 + */ + private Date installTime; + /** + * 设备状态 1:在线 2:离线 + */ + private Integer state; + /** + * 警报器型号 + */ + private String model; + /** + * 警报器类型 + */ + private Integer type; + /** + * 警报器厂商 + */ + private String manufacturer; + /** + * 警报器功率 + */ + private Integer power; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; +} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocCityDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocCityDO.java index 8e5fdfc..8fa8b2f 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocCityDO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocCityDO.java @@ -15,12 +15,13 @@ public class LocCityDO implements Serializable { private String cityName; - private String cityCode; + private Integer cityCode; - private String provinceCode; + private Integer provinceCode; - private String beidouBroadcastId; + private Integer beidouBroadcastId; private Date createTime; + private Date updateTime; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocCountyDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocCountyDO.java index 99a9268..af00d96 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocCountyDO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocCountyDO.java @@ -15,13 +15,15 @@ public class LocCountyDO implements Serializable { private String countyName; - private String countyCode; - private String cityCode; + private Integer countyCode; - private String provinceCode; + private Integer cityCode; - private String beidouBroadcastId; + private Integer provinceCode; + + private Integer beidouBroadcastId; private Date createTime; + private Date updateTime; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocProvinceDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocProvinceDO.java index b339459..5da4f99 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocProvinceDO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/LocProvinceDO.java @@ -15,8 +15,9 @@ public class LocProvinceDO implements Serializable { private String provinceName; - private String provinceCode; + private Integer provinceCode; private Date createTime; + private Date updateTime; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/SystemConfigDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/SystemConfigDO.java new file mode 100644 index 0000000..601e195 --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/SystemConfigDO.java @@ -0,0 +1,36 @@ +package com.zjyr.beidouservice.pojo.dataobject; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SystemConfigDO { + /** + * 自增长id + */ + private Long id; + + /** + * 名称 + */ + private String name; + /** + * 值 + */ + private String value; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; +} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/TaskDO.java b/src/main/java/com/zjyr/beidouservice/pojo/dataobject/TaskDO.java deleted file mode 100644 index 7a2dda0..0000000 --- a/src/main/java/com/zjyr/beidouservice/pojo/dataobject/TaskDO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.zjyr.beidouservice.pojo.dataobject; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Date; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class TaskDO { - private Long id; - - private String taskId; - - private Integer controlChannel; - - private Integer beidouId; - - private String provinceCode; - - private String cityCode; - - private String countyCode; - - private String deviceIds; - - private Integer deviceNum; - - private Integer execNormalNum; - - private Integer execAbnormalNum; - - private Date createTime; - - private Date updateTime; -} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceInfoByLocDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceByLocationDTO.java similarity index 65% rename from src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceInfoByLocDTO.java rename to src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceByLocationDTO.java index 72b8adc..7d7e0bb 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceInfoByLocDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceByLocationDTO.java @@ -10,12 +10,12 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor -public class DeviceInfoByLocDTO { - private String provinceCode; +public class DeviceByLocationDTO { + private Integer provinceCode; - private String cityCode; + private Integer cityCode; - private String countyCode; + private Integer countyCode; private String deviceName; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceInfoDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceInfoDTO.java new file mode 100644 index 0000000..4428bf4 --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceInfoDTO.java @@ -0,0 +1,32 @@ +package com.zjyr.beidouservice.pojo.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DeviceInfoDTO { + /** + * 执行任务设备所属省,默认浙江省 + */ + private Integer provinceCode; + /** + * 执行任务设备所属地市 + */ + private List cityCodes; + /** + * 执行任务设备所属区域 + */ + private List countyCodes; + /** + * 执行任务设备 + */ + private List deviceIds; + +} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceReqDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceReqDTO.java index 3aaa59c..28d5fe7 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceReqDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceReqDTO.java @@ -11,15 +11,24 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor public class DeviceReqDTO { - private String provinceCode; - - private String cityCode; - - private String countyCode; - - private String manufacturer; - + /** + * 终端名称 + */ private String deviceName; + /** + * 所属区县 + */ + private Integer countyCode; + /** + * 所属地市 + */ + private Integer cityCode; + + /** + * 所属省份 + */ + private Integer provinceCode; + } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceRespDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceRespDTO.java index 51954ad..dce02a5 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceRespDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceRespDTO.java @@ -12,25 +12,43 @@ import lombok.NoArgsConstructor; @AllArgsConstructor public class DeviceRespDTO { - private Long deviceId; + /** + * 设备id + */ + private Integer deviceId; + /** + * 终端名称 + */ private String deviceName; - private String provinceCode; + /** + * 经度 + */ + private Float latitude; - private String cityCode; + /** + * 纬度 + */ + private Float longitude; - private String countyCode; + /** + * 所属区县 + */ + private Integer countyCode; + /** + * 所属地市 + */ + private Integer cityCode; - private String installAddr; - - private String latitude; - - private String longitude; - - private String alarmManufacturer; - - private String controlManufacturer; + /** + * 所属省份 + */ + private Integer provinceCode; + /** + * 安装地址 + */ + private String installSite; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceSearchDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceSearchDTO.java new file mode 100644 index 0000000..b0ceeab --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceSearchDTO.java @@ -0,0 +1,17 @@ +package com.zjyr.beidouservice.pojo.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSearchDTO { + /** + * 设备id + */ + private Long deviceId; +} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceTaskContentDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceTaskContentDTO.java index 3e5514b..3187515 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceTaskContentDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceTaskContentDTO.java @@ -17,7 +17,6 @@ public class DeviceTaskContentDTO { private String deviceName; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date respTime; diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceTaskExecReqDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceTaskExecReqDTO.java deleted file mode 100644 index d793e68..0000000 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/DeviceTaskExecReqDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.zjyr.beidouservice.pojo.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class DeviceTaskExecReqDTO { - private Integer controlChannel; - - private String provinceCode; - - private String cityCode; - - private String countyCode; - - private String deviceIds; - - private Integer controlMode; - - private String execCmd; -} diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CityCountyDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CityCountyDTO.java index 83151b1..0b1cf75 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CityCountyDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CityCountyDTO.java @@ -9,10 +9,11 @@ import java.util.List; @Data @NoArgsConstructor public class CityCountyDTO { - private String provinceCode; + private Integer provinceCode; + private String cityName; - private String cityCode; + private Integer cityCode; List countyList; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CitySearchDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CitySearchDTO.java index ab73a93..809350e 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CitySearchDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CitySearchDTO.java @@ -10,7 +10,7 @@ import java.io.Serializable; @NoArgsConstructor @AllArgsConstructor public class CitySearchDTO implements Serializable { - private String provinceCode; + private Integer provinceCode; - private String cityCode; + private Integer cityCode; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CountyContent.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CountyContent.java index 33646f5..3b0ab2d 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CountyContent.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/city/CountyContent.java @@ -8,5 +8,5 @@ import lombok.NoArgsConstructor; public class CountyContent { private String countyName; - private String countyCode; + private Integer countyCode; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/province/CityContentDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/province/CityContentDTO.java index 66dad92..ea14ea3 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/province/CityContentDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/province/CityContentDTO.java @@ -9,6 +9,6 @@ import lombok.NoArgsConstructor; public class CityContentDTO { private String cityName; - private String cityCode; + private Integer cityCode; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/province/OnlyProvinceContentDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/province/OnlyProvinceContentDTO.java index f7fb7d6..8805d33 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/province/OnlyProvinceContentDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/province/OnlyProvinceContentDTO.java @@ -8,5 +8,5 @@ import lombok.NoArgsConstructor; public class OnlyProvinceContentDTO { private String provinceName; - private String provinceCode; + private Integer provinceCode; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/province/ProvinceContent.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/province/ProvinceContent.java index 8bb6ce5..0cd21b6 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/province/ProvinceContent.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/province/ProvinceContent.java @@ -10,7 +10,7 @@ import java.util.List; public class ProvinceContent { private String provinceName; - private String provinceCode; + private Integer provinceCode; private List cityList; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/province/ProvinceSearchDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/province/ProvinceSearchDTO.java index 6d8f565..1f8348b 100644 --- a/src/main/java/com/zjyr/beidouservice/pojo/dto/province/ProvinceSearchDTO.java +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/province/ProvinceSearchDTO.java @@ -11,5 +11,5 @@ import java.io.Serializable; @AllArgsConstructor public class ProvinceSearchDTO implements Serializable { - private String provinceCode; + private Integer provinceCode; } diff --git a/src/main/java/com/zjyr/beidouservice/pojo/dto/task/AlarmTaskReqDTO.java b/src/main/java/com/zjyr/beidouservice/pojo/dto/task/AlarmTaskReqDTO.java new file mode 100644 index 0000000..a2df57d --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/pojo/dto/task/AlarmTaskReqDTO.java @@ -0,0 +1,62 @@ +package com.zjyr.beidouservice.pojo.dto.task; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AlarmTaskReqDTO { + /** + * 省份,默认浙江省 33. + */ + private String provinceCode; + /** + * 地市,默认杭州市 1. + */ + private String cityCode; + /** + * 所属区域 + */ + private String countyCode; + + /** + * 设备id.包含多个设备信息 + */ + private String deviceIds; + + /** + * 警报类型 1:语言广播 2:警报发送 3:警报试鸣,默认警报发送2 + */ + private Integer alarmType; + + /** + * 警报种类 1:预先警报 2:空袭警报 3:灾情警 4:解除警报灾 5:解除警报 + */ + private Integer alarmKind; + + /** + * 警报方式 1:人工 2:定时,默认人工 + */ + private Integer alarmMode; + + /** + * 控制通道。2:无线 3:北斗 4:电话 5:all + */ + private Integer controlChannel; + + /** + * 发放时间 + */ + private Date sendTime; + + /** + * 发放人 + */ + private String sender; +} diff --git a/src/main/java/com/zjyr/beidouservice/service/AlarmTaskService.java b/src/main/java/com/zjyr/beidouservice/service/AlarmTaskService.java new file mode 100644 index 0000000..9f45802 --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/service/AlarmTaskService.java @@ -0,0 +1,19 @@ +package com.zjyr.beidouservice.service; + + +import com.zjyr.beidouservice.pojo.MyResp; + +import com.zjyr.beidouservice.pojo.dto.task.AlarmTaskReqDTO; + +public interface AlarmTaskService { + /** + * 执行告警任务 + * @param alarmTaskReqDTO alarmTaskReqDTO + * @return MyResp + */ + MyResp alarmTaskExec(AlarmTaskReqDTO alarmTaskReqDTO); + + + + +} diff --git a/src/main/java/com/zjyr/beidouservice/service/DeviceService.java b/src/main/java/com/zjyr/beidouservice/service/DeviceService.java index addd87e..dff2a95 100644 --- a/src/main/java/com/zjyr/beidouservice/service/DeviceService.java +++ b/src/main/java/com/zjyr/beidouservice/service/DeviceService.java @@ -1,17 +1,25 @@ package com.zjyr.beidouservice.service; -import com.zjyr.beidouservice.pojo.dto.AlarmDevRespDTO; + import com.zjyr.beidouservice.pojo.dto.DeviceReqDTO; import com.zjyr.beidouservice.pojo.dto.DeviceRespDTO; -import com.zjyr.beidouservice.pojo.dto.ManufacturerRespDTO; +import com.zjyr.beidouservice.pojo.dto.DeviceSearchDTO; import java.util.List; - public interface DeviceService { - List getDeviceInfo(DeviceReqDTO deviceReqDTO); + /** + * 根据省份、地市和区域信息获取设备 + * + * @return 设备列表 + */ + List getDeviceByLocation(DeviceReqDTO deviceReqDTO); - ManufacturerRespDTO getDeviceManufacturerInfo(); + /** + * 根据设备id获取设备信息 + * + * @return 设备 + */ + DeviceRespDTO getDeviceByDeviceId(DeviceSearchDTO deviceSearchDTO); - AlarmDevRespDTO getAlarmDeviceInfo(); } diff --git a/src/main/java/com/zjyr/beidouservice/service/DeviceTaskService.java b/src/main/java/com/zjyr/beidouservice/service/DeviceTaskService.java deleted file mode 100644 index 33931ce..0000000 --- a/src/main/java/com/zjyr/beidouservice/service/DeviceTaskService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.zjyr.beidouservice.service; - -import com.zjyr.beidouservice.pojo.dto.DevTaskExecRespDTO; -import com.zjyr.beidouservice.pojo.dto.DeviceTaskExecReqDTO; -import com.zjyr.beidouservice.pojo.dto.DeviceTaskRespDTO; - -import java.util.List; - -public interface DeviceTaskService { - List getDeviceTaskInfo(); - - - DevTaskExecRespDTO deviceTaskExec(DeviceTaskExecReqDTO deviceTaskExecReqDTO); -} diff --git a/src/main/java/com/zjyr/beidouservice/service/LocationService.java b/src/main/java/com/zjyr/beidouservice/service/LocationService.java index a0733ca..8fadf04 100644 --- a/src/main/java/com/zjyr/beidouservice/service/LocationService.java +++ b/src/main/java/com/zjyr/beidouservice/service/LocationService.java @@ -11,7 +11,6 @@ public interface LocationService { ProvinceRespDTO getProvinces(ProvinceSearchDTO provinceSearchDTO); - CityRespDTO getCity(CitySearchDTO citySearchDTO); diff --git a/src/main/java/com/zjyr/beidouservice/service/impl/AlarmTaskServiceImpl.java b/src/main/java/com/zjyr/beidouservice/service/impl/AlarmTaskServiceImpl.java new file mode 100644 index 0000000..62f0f8d --- /dev/null +++ b/src/main/java/com/zjyr/beidouservice/service/impl/AlarmTaskServiceImpl.java @@ -0,0 +1,259 @@ +package com.zjyr.beidouservice.service.impl; + +import com.zjyr.beidouservice.common.impl.AlarmControlTypeName; +import com.zjyr.beidouservice.common.impl.AlarmModeName; +import com.zjyr.beidouservice.common.impl.AlarmTypeName; +import com.zjyr.beidouservice.common.impl.SensorControlTunnelName; +import com.zjyr.beidouservice.common.impl.TaskStatusName; +import com.zjyr.beidouservice.constenum.ApprovalStatusEnum; +import com.zjyr.beidouservice.mapper.AlarmDeviceTaskMapper; +import com.zjyr.beidouservice.mapper.AlarmTaskMapper; +import com.zjyr.beidouservice.mapper.DeviceMapper; +import com.zjyr.beidouservice.mapper.LocCityMapper; +import com.zjyr.beidouservice.mapper.LocCountyMapper; +import com.zjyr.beidouservice.mapper.LocProvinceMapper; +import com.zjyr.beidouservice.mapper.SystemConfigMapper; +import com.zjyr.beidouservice.pojo.MyResp; +import com.zjyr.beidouservice.pojo.dataobject.AlarmDeviceTaskDO; +import com.zjyr.beidouservice.pojo.dataobject.AlarmTaskDO; +import com.zjyr.beidouservice.pojo.dataobject.DeviceDO; +import com.zjyr.beidouservice.pojo.dataobject.LocCountyDO; +import com.zjyr.beidouservice.pojo.dataobject.SystemConfigDO; +import com.zjyr.beidouservice.pojo.dto.DeviceByLocationDTO; +import com.zjyr.beidouservice.pojo.dto.DeviceInfoDTO; +import com.zjyr.beidouservice.pojo.dto.task.AlarmTaskReqDTO; +import com.zjyr.beidouservice.service.AdapterProtocolService; +import com.zjyr.beidouservice.service.AlarmTaskService; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Objects; + + +@Service +@Slf4j +public class AlarmTaskServiceImpl implements AlarmTaskService { + @Resource + AdapterProtocolService adapterProtocolService; + + @Resource + AlarmTaskMapper alarmTaskMapper; + + @Resource + AlarmDeviceTaskMapper alarmDeviceTaskMapper; + + @Resource + SystemConfigMapper systemConfigMapper; + + @Resource + LocCityMapper locCityMapper; + + @Resource + LocProvinceMapper locProvinceMapper; + + @Resource + LocCountyMapper locCountyMapper; + + @Resource + DeviceMapper deviceMapper; + + + @Override + public MyResp alarmTaskExec(AlarmTaskReqDTO alarmTaskReqDTO) { + //根据选择的省份、地市、区域或指定设备信息,获取执行任务的deviceId,provinceCode默认为null + DeviceInfoDTO deviceInfo = getExecDeviceInfo(alarmTaskReqDTO); + + //生成规则为"JL"+"当前年月日"+"4位自增ID" + String taskId = generateRecordNumber(); + + AlarmTaskDO alarmTaskDO = AlarmTaskDO.builder() + .taskId(taskId) + .alarmType(alarmTaskReqDTO.getAlarmType()) + .alarmKind(alarmTaskReqDTO.getAlarmKind()) + .alarmCounty(deviceInfo.getCountyCodes() == null ? " " : deviceInfo.getCountyCodes().toString()) + .deviceIds(deviceInfo.getDeviceIds().toString()) + .alarmMode(alarmTaskReqDTO.getAlarmMode()) + .controlChannel(alarmTaskReqDTO.getControlChannel()) + .sender(alarmTaskReqDTO.getSender()) + .sendTime(alarmTaskReqDTO.getSendTime()) + .approvalStatus(ApprovalStatusEnum.APPROVAL_SUCCESS.getCode()).build(); + + //入库 + alarmTaskMapper.addAlarmTask(alarmTaskDO); + + List alarmDeviceTaskDOS = getAlarmDeviceTaskDOS(alarmTaskReqDTO, deviceInfo, taskId); + alarmDeviceTaskMapper.addAlarmDevTaskInfoList(alarmDeviceTaskDOS); + + //执行控制任务 + //默认只有一种通道方式 + adapterProtocolService.createSensorControlProtocol( + Integer.parseInt(taskId), + AlarmModeName.getByCode(alarmTaskReqDTO.getAlarmMode()), + AlarmControlTypeName.getByCode(alarmTaskReqDTO.getAlarmType()), + AlarmTypeName.getByCode(alarmTaskReqDTO.getAlarmKind()), + alarmTaskReqDTO.getControlChannel(), + alarmTaskReqDTO.getSendTime(), + deviceInfo.getCityCodes(), + deviceInfo.getCountyCodes(), + deviceInfo.getDeviceIds() + ); + + return MyResp.build(); + +} + + private static List getAlarmDeviceTaskDOS(AlarmTaskReqDTO alarmTaskReqDTO, DeviceInfoDTO deviceInfo, String taskId) { + List alarmDeviceTaskDOS = new ArrayList<>(); + List deviceIds = deviceInfo.getDeviceIds(); + + if (alarmTaskReqDTO.getControlChannel().equals(SensorControlTunnelName.TUNNEL_ALL.getValue())) { + List controlTunnel = new ArrayList<>(); + controlTunnel.add(SensorControlTunnelName.TUNNEL_BEIDOU.getValue()); + controlTunnel.add(SensorControlTunnelName.TUNNEL_WIRELESS.getValue()); + controlTunnel.add(SensorControlTunnelName.TUNNEL_TEL.getValue()); + + controlTunnel.forEach(v -> + deviceIds.forEach(k -> { + AlarmDeviceTaskDO task = new AlarmDeviceTaskDO(); + task.setTaskId(taskId); + task.setDeviceId(k); + task.setControlChannel(alarmTaskReqDTO.getControlChannel()); + task.setSendTime(alarmTaskReqDTO.getSendTime()); + task.setStatus(TaskStatusName.TASK_EXECUTING.getValue()); + + alarmDeviceTaskDOS.add(task); + })); + + } else { + deviceIds.forEach(dev -> { + AlarmDeviceTaskDO task = new AlarmDeviceTaskDO(); + task.setTaskId(taskId); + task.setDeviceId(dev); + task.setControlChannel(alarmTaskReqDTO.getControlChannel()); + task.setSendTime(alarmTaskReqDTO.getSendTime()); + task.setStatus(TaskStatusName.TASK_EXECUTING.getValue()); + + alarmDeviceTaskDOS.add(task); + }); + + } + return alarmDeviceTaskDOS; + } + + + private DeviceInfoDTO getExecDeviceInfo(AlarmTaskReqDTO alarmTaskReqDTO) { + //默认浙江省 + int province = Integer.parseInt(alarmTaskReqDTO.getProvinceCode()); + log.info("province: [{}]", province); + + DeviceInfoDTO deviceInfo = new DeviceInfoDTO(); + List cityCodes = new ArrayList<>(); + List countyCodes = null; + List deviceIds = null; + + //cityCode不为null,默认为杭州市-所属区域为杭州市所有区域 + if (Objects.nonNull(alarmTaskReqDTO.getCityCode())) { + log.info("选择所属地市:[{}] 所有设备执行告警任务", alarmTaskReqDTO.getCityCode()); + int city = Integer.parseInt(alarmTaskReqDTO.getCityCode()); + cityCodes.add(city); + + //根据杭州市获取所有区信息 + List countyDOList = locCountyMapper.selectCountyByCity(province, city); + countyCodes = countyDOList.stream().map(LocCountyDO::getCountyCode).toList(); + + //获取杭州市所有设备信息 + DeviceByLocationDTO searchDTO = DeviceByLocationDTO.builder().cityCode(city).build(); + List deviceDOList = deviceMapper.selectDeviceByLoc(searchDTO); + deviceIds = deviceDOList.stream().map(DeviceDO::getDeviceId).toList(); + + } else if (Objects.nonNull(alarmTaskReqDTO.getCountyCode())) { + + log.info("选择所属区域:[{}] 所有设备执行告警任务", alarmTaskReqDTO.getCountyCode()); + //区存在多个 + countyCodes = Arrays.stream(alarmTaskReqDTO.getCountyCode().split(",")).map(Integer::parseInt).toList(); + + //根据county查找设备信息 + List finalDeviceIds = new ArrayList<>(); + countyCodes.forEach(county -> { + DeviceByLocationDTO searchDTO = DeviceByLocationDTO.builder().countyCode(county).build(); + List device = deviceMapper.selectDeviceByLoc(searchDTO).stream().map(DeviceDO::getDeviceId).toList(); + finalDeviceIds.addAll(device); + }); + deviceIds = finalDeviceIds; + + } else if (Objects.nonNull(alarmTaskReqDTO.getDeviceIds())) { + log.info("指定设备: [{}]执行告警任务", alarmTaskReqDTO.getDeviceIds()); + //todo 根据deviceId获取区信息 + deviceIds = Arrays.stream(alarmTaskReqDTO.getDeviceIds().split(",")).map(Integer::parseInt).toList(); + } + + //默认浙江省杭州市 + deviceInfo.setProvinceCode(province); + deviceInfo.setCityCodes(cityCodes); + deviceInfo.setCountyCodes(countyCodes); + deviceInfo.setDeviceIds(deviceIds); + return deviceInfo; + } + + + /** + * 记录编号,生成规则为"JL"+"当前年月日"+"4位自增ID",不同日期从0001开始自增长。例如JL202308180001、JL202308190001 + */ + private String generateRecordNumber() { + String currentDateStr = null; + int currentId = 0; + /* + * 考虑代码重启,最新的字段值存数据库,默认currentDateStr为null、currentId为0*/ + SystemConfigDO systemConfig = systemConfigMapper.getConfigByName("currentDate"); + if (systemConfig == null) { + //新增日期信息 + systemConfigMapper.addConfig("currentDate", currentDateStr); + } else { + currentDateStr = systemConfig.getValue(); + log.info("current date: [{}]", currentDateStr); + } + + SystemConfigDO config = systemConfigMapper.getConfigByName("currentId"); + if (config == null) { + //新增ID信息 + systemConfigMapper.addConfig("currentId", String.valueOf(currentId)); + } else { + currentId = Integer.parseInt(config.getValue()); + log.info("current id: [{}]", currentId); + } + + // 获取当前日期 + Date currentDate = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); + String newDateStr = dateFormat.format(currentDate); + + // 检查日期是否变化,如果变化则重置自增ID + if (currentDateStr == null || !currentDateStr.equals(newDateStr)) { + currentId = 1; + currentDateStr = newDateStr; + systemConfigMapper.updateConfig("currentDate", currentDateStr); + } + + // 生成自增的ID + DecimalFormat idFormat = new DecimalFormat("0000"); + String idStr = idFormat.format(currentId); + + // 更新自增ID + currentId++; + systemConfigMapper.updateConfig("currentId", String.valueOf(currentId++)); + + // 拼接记录编号 + String recordNumber = "JL" + currentDateStr + idStr; + log.info("record number : [{}]", recordNumber); + + return recordNumber; + } +} + diff --git a/src/main/java/com/zjyr/beidouservice/service/impl/DeviceServiceImpl.java b/src/main/java/com/zjyr/beidouservice/service/impl/DeviceServiceImpl.java index 6f52931..31a933a 100644 --- a/src/main/java/com/zjyr/beidouservice/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/zjyr/beidouservice/service/impl/DeviceServiceImpl.java @@ -1,19 +1,12 @@ package com.zjyr.beidouservice.service.impl; -import com.zjyr.beidouservice.constenum.AlarmTypeEnum; -import com.zjyr.beidouservice.constenum.ManufacturerTypeEnum; -import com.zjyr.beidouservice.mapper.DevAttributesMapper; -import com.zjyr.beidouservice.mapper.DevBasicInfoMapper; -import com.zjyr.beidouservice.pojo.dataobject.DevAttributesDO; -import com.zjyr.beidouservice.pojo.dataobject.DevBasicInfoDO; -import com.zjyr.beidouservice.pojo.dto.AlarmDevContentDTO; -import com.zjyr.beidouservice.pojo.dto.AlarmDevRespDTO; -import com.zjyr.beidouservice.pojo.dto.DevMaunDTO; -import com.zjyr.beidouservice.pojo.dto.DeviceInfoByLocDTO; + +import com.zjyr.beidouservice.mapper.DeviceMapper; +import com.zjyr.beidouservice.pojo.dataobject.DeviceDO; +import com.zjyr.beidouservice.pojo.dto.DeviceByLocationDTO; import com.zjyr.beidouservice.pojo.dto.DeviceReqDTO; import com.zjyr.beidouservice.pojo.dto.DeviceRespDTO; -import com.zjyr.beidouservice.pojo.dto.ManufacturerContentDTO; -import com.zjyr.beidouservice.pojo.dto.ManufacturerRespDTO; +import com.zjyr.beidouservice.pojo.dto.DeviceSearchDTO; import com.zjyr.beidouservice.service.DeviceService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -21,118 +14,72 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; @Service @Slf4j public class DeviceServiceImpl implements DeviceService { @Resource - DevBasicInfoMapper devBasicInfoMapper; + DeviceMapper deviceMapper; - @Resource - DevAttributesMapper devAttributesMapper; @Override - public List getDeviceInfo(DeviceReqDTO deviceReqDTO) { + public List getDeviceByLocation(DeviceReqDTO deviceReqDTO) { log.info("get device info : [{}]", deviceReqDTO); List deviceRespList = new ArrayList<>(); //根据省份、地市、区信息查询设备 - DeviceInfoByLocDTO searchDTO = new DeviceInfoByLocDTO(); - searchDTO.setProvinceCode(deviceReqDTO.getProvinceCode()); - searchDTO.setCityCode(deviceReqDTO.getCityCode()); - searchDTO.setCountyCode(deviceReqDTO.getCountyCode()); - searchDTO.setDeviceName(deviceReqDTO.getDeviceName()); + DeviceByLocationDTO searchDTO = DeviceByLocationDTO.builder() + .provinceCode(deviceReqDTO.getProvinceCode()) + .cityCode(deviceReqDTO.getCityCode()) + .countyCode(deviceReqDTO.getCountyCode()) + .deviceName(deviceReqDTO.getDeviceName()).build(); log.info("device search info : [{}]", searchDTO); - List devBasicInfoList = devBasicInfoMapper.selectDeviceByLoc(searchDTO); - if (devBasicInfoList.isEmpty()) { - log.warn("根据省份、地市、区编码未查找到设备信息"); + List deviceDOList = deviceMapper.selectDeviceByLoc(searchDTO); + if (deviceDOList.isEmpty()) { + log.warn("未查找到设备信息"); return new ArrayList<>(); } - devBasicInfoList.forEach(dev -> { - Long deviceId = dev.getDeviceId(); - String manufacturer = deviceReqDTO.getManufacturer(); - List devMaunDTO = devAttributesMapper.selectManuByManufacturer(deviceId, manufacturer); - //根据过滤过厂商的device查找device基本信息 - devMaunDTO.forEach(v -> { - DeviceRespDTO deviceResp = new DeviceRespDTO(); - deviceResp.setDeviceId(v.getDeviceId()); - deviceResp.setAlarmManufacturer(ManufacturerTypeEnum.getByCode(v.getAlarmManufacturer())); - deviceResp.setControlManufacturer(ManufacturerTypeEnum.getByCode(v.getControlManufacturer())); + deviceDOList.forEach(v -> { + DeviceRespDTO resp = new DeviceRespDTO(); + resp.setDeviceId(v.getDeviceId()); + resp.setDeviceName(v.getDeviceName()); + resp.setCountyCode(v.getCountyCode()); + resp.setCityCode(v.getCityCode()); + resp.setProvinceCode(v.getProvinceCode()); + resp.setLatitude(v.getLatitude()); + resp.setLongitude(v.getLongitude()); + resp.setInstallSite(v.getInstallSite()); - //根据deviceId查找device basic info - DevBasicInfoDO devBasicInfo = devBasicInfoMapper.selectDeviceByDeviceId(v.getDeviceId()); - deviceResp.setDeviceName(devBasicInfo.getDeviceName()); - deviceResp.setProvinceCode(devBasicInfo.getProvinceCode()); - deviceResp.setCityCode(devBasicInfo.getCityCode()); - deviceResp.setCountyCode(devBasicInfo.getCountyCode()); - - //获取设备安装地址、经纬度 - deviceResp.setInstallAddr(devBasicInfo.getInstallAddr()); - deviceResp.setLatitude(devBasicInfo.getLatitude()); - deviceResp.setLatitude(devBasicInfo.getLatitude()); - - deviceRespList.add(deviceResp); - }); + deviceRespList.add(resp); }); return deviceRespList; + } @Override - public ManufacturerRespDTO getDeviceManufacturerInfo() { - ManufacturerRespDTO manufacturerResp = new ManufacturerRespDTO(); - //获取厂家名称和类型 - List contents = new ArrayList<>(); - List codeList = ManufacturerTypeEnum.getAllCodes(); - codeList.forEach(v -> { - ManufacturerContentDTO content = new ManufacturerContentDTO(); - content.setManufacturerType(v); - content.setManufacturerName(ManufacturerTypeEnum.getByCode(v)); + public DeviceRespDTO getDeviceByDeviceId(DeviceSearchDTO deviceSearchDTO) { + log.info("get device info by deviceId: [{}]", deviceSearchDTO.getDeviceId()); - contents.add(content); - }); - - manufacturerResp.setData(contents); - return manufacturerResp; - } - - @Override - public AlarmDevRespDTO getAlarmDeviceInfo() { - AlarmDevRespDTO respDTO = new AlarmDevRespDTO(); - List contents = new ArrayList<>(); - - //获取所有的设备属性信息 - List devMaunDTOList = devAttributesMapper.selectManuAll(); - if (devMaunDTOList.isEmpty()) { - log.warn("不存在告警终端"); - return new AlarmDevRespDTO(); + DeviceDO deviceDO = deviceMapper.selectDeviceByDeviceId(deviceSearchDTO.getDeviceId()); + if (deviceDO == null) { + log.warn("根据deviceId未查找到设备信息"); + return null; } - int totalMum = devMaunDTOList.size(); + DeviceRespDTO respDTO = DeviceRespDTO.builder() + .deviceId(deviceDO.getDeviceId()) + .deviceName(deviceDO.getDeviceName()) + .countyCode(deviceDO.getCountyCode()) + .cityCode(deviceDO.getCityCode()) + .provinceCode(deviceDO.getProvinceCode()) + .latitude(deviceDO.getLatitude()) + .longitude(deviceDO.getLongitude()) + .installSite(deviceDO.getInstallSite()).build(); - //分别过滤出不同的警报器类型 - List typeList = AlarmTypeEnum.getAllCodes(); - typeList.forEach(type -> { - AlarmDevContentDTO content = new AlarmDevContentDTO(); - String typeMsg = AlarmTypeEnum.getByCode(type); - log.info("alarm type :[{}]", typeMsg); - - //过滤出不同类型的设备属性 - List devType = devMaunDTOList.stream().filter(v -> v.getAlarmType().equals(type)).collect(Collectors.toList()); - content.setAlarmType(typeMsg); - content.setAlarmNum(devType.size()); - double ratio = (double) devType.size() / (double) totalMum; - content.setAlarmRatio(ratio); - - contents.add(content); - }); - - respDTO.setAlarmDevTotalNum(totalMum); - respDTO.setData(contents); return respDTO; } } diff --git a/src/main/java/com/zjyr/beidouservice/service/impl/DeviceTaskServiceImpl.java b/src/main/java/com/zjyr/beidouservice/service/impl/DeviceTaskServiceImpl.java deleted file mode 100644 index c0591e0..0000000 --- a/src/main/java/com/zjyr/beidouservice/service/impl/DeviceTaskServiceImpl.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.zjyr.beidouservice.service.impl; - -import com.zjyr.beidouservice.mapper.DevTaskMapper; -import com.zjyr.beidouservice.mapper.TaskMapper; -import com.zjyr.beidouservice.pojo.dataobject.DevTaskDO; -import com.zjyr.beidouservice.pojo.dataobject.TaskDO; -import com.zjyr.beidouservice.pojo.dto.DevTaskExecRespDTO; -import com.zjyr.beidouservice.pojo.dto.DeviceTaskContentDTO; -import com.zjyr.beidouservice.pojo.dto.DeviceTaskExecReqDTO; -import com.zjyr.beidouservice.pojo.dto.DeviceTaskRespDTO; -import com.zjyr.beidouservice.service.DeviceTaskService; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; - -@Service -@Slf4j -public class DeviceTaskServiceImpl implements DeviceTaskService { - - @Resource - DevTaskMapper devTaskMapper; - - @Resource - TaskMapper taskMapper; - - @Override - public List getDeviceTaskInfo() { - log.info(" get all device task information"); - List respDTOList = new ArrayList<>(); - - //获取所有任务id - List taskDOList = taskMapper.selectAllTask(); - if (taskDOList.isEmpty()) { - log.warn("不存在终端设备告警任务"); - return new ArrayList<>(); - } - - taskDOList.forEach(task -> { - DeviceTaskRespDTO taskResp = new DeviceTaskRespDTO(); - taskResp.setId(task.getId()); - taskResp.setTaskId(task.getTaskId()); - //告警任务记录时间为任务创建时间 - taskResp.setRecodeTime(task.getCreateTime()); - - - //告警任务回示率,收到响应信息的设备数量(执行成功、执行失败)/总设备数量 - int respNum = task.getExecNormalNum() + task.getExecAbnormalNum(); - int deviceNum = task.getDeviceNum(); - double respRate = (double) respNum / (double) deviceNum; - - //告警任务执行设备数量、执行正常数量、执行异常数量、回示率 - taskResp.setDeviceNum(deviceNum); - taskResp.setExecNormalNum(task.getExecNormalNum()); - taskResp.setExecAbnormalNum(task.getExecAbnormalNum()); - taskResp.setRespRate(respRate); - - //获取任务id详细信息 - List devTaskContents = new ArrayList<>(); - List devTaskDOList = devTaskMapper.selectDevTaskByTaskId(task.getTaskId()); - if (devTaskDOList.isEmpty()) { - log.warn("根据任务Id: [{}] 获取不到告警任务详情信息", task.getTaskId()); - taskResp.setData(new ArrayList<>()); - } - - devTaskDOList.forEach(devTask -> { - DeviceTaskContentDTO devTaskContent = new DeviceTaskContentDTO(); - devTaskContent.setDeviceId(devTask.getDeviceId()); - devTaskContent.setDeviceName(devTask.getDeviceName()); - //回示时间为dev task表中的更新时间,收到执行状态后更新时间 - devTaskContent.setRespTime(devTask.getUpdateTime()); - devTaskContent.setExecState(devTask.getExecState()); - - devTaskContents.add(devTaskContent); - - }); - - taskResp.setData(devTaskContents); - respDTOList.add(taskResp); - - }); - - // 使用自定义比较器按recodeTime排序 - respDTOList.sort(new Comparator() { - public int compare(DeviceTaskRespDTO t1, DeviceTaskRespDTO t2) { - return t2.getRecodeTime().compareTo(t1.getRecodeTime()); - } - }); - - return respDTOList; - } - - - @Override - public DevTaskExecRespDTO deviceTaskExec(DeviceTaskExecReqDTO deviceTaskExecReqDTO) { - DevTaskExecRespDTO deviceTaskRespDTO = new DevTaskExecRespDTO(); - - //todo 北斗号 beidouId,如果以市为单位,则携带市北斗号,区为单位携带区北斗号,具体设备则携带区北斗号 - - //todo 控制类型 controlType:。1:单点控制 2:市属控制 3:区属控制 - - return deviceTaskRespDTO; - } -} diff --git a/src/main/java/com/zjyr/beidouservice/service/impl/LocationServiceImpl.java b/src/main/java/com/zjyr/beidouservice/service/impl/LocationServiceImpl.java index 27ada83..62cd863 100644 --- a/src/main/java/com/zjyr/beidouservice/service/impl/LocationServiceImpl.java +++ b/src/main/java/com/zjyr/beidouservice/service/impl/LocationServiceImpl.java @@ -38,7 +38,7 @@ public class LocationServiceImpl implements LocationService { @Override public OnlyProvinceResp getOnlyProvinces() { - OnlyProvinceResp onlyProvinceResp = new OnlyProvinceResp(); + OnlyProvinceResp onlyProvinceResp = new OnlyProvinceResp(); List onlyProvinceList = new ArrayList<>(); //获取省份信息 @@ -61,12 +61,12 @@ public class LocationServiceImpl implements LocationService { @Override public ProvinceRespDTO getProvinces(ProvinceSearchDTO provinceSearchDTO) { - ProvinceRespDTO provinceResp = new ProvinceRespDTO(); + ProvinceRespDTO provinceResp = new ProvinceRespDTO(); List provinceContents = new ArrayList<>(); //获取省份信息 - String provinceCode = provinceSearchDTO.getProvinceCode(); - List provinceDOS = locProvinceMapper.selectProvince(provinceCode); + Integer provinceCode = provinceSearchDTO.getProvinceCode(); + List provinceDOS = locProvinceMapper.selectProvince(provinceCode); if (provinceDOS.isEmpty()) { log.warn("不存在省份信息"); return new ProvinceRespDTO(); @@ -80,7 +80,7 @@ public class LocationServiceImpl implements LocationService { //根据省份查询对应的地市信息 List cityContentDTOList = new ArrayList<>(); - List cityDOList = locCityMapper.selectCityByProvince(province.getProvinceCode()); + List cityDOList = locCityMapper.selectCityByProvince(province.getProvinceCode()); cityDOList.forEach(city -> { CityContentDTO cityContent = new CityContentDTO(); cityContent.setCityName(city.getCityName()); @@ -100,13 +100,13 @@ public class LocationServiceImpl implements LocationService { @Override public CityRespDTO getCity(CitySearchDTO citySearchDTO) { - CityRespDTO cityResp = new CityRespDTO(); + CityRespDTO cityResp = new CityRespDTO(); List cityContents = new ArrayList<>(); //获取地市信息 - String provinceCode = citySearchDTO.getProvinceCode(); - String cityCode = citySearchDTO.getCityCode(); - List cityDOS = locCityMapper.selectCity(provinceCode, cityCode); + Integer provinceCode = citySearchDTO.getProvinceCode(); + Integer cityCode = citySearchDTO.getCityCode(); + List cityDOS = locCityMapper.selectCity(provinceCode, cityCode); if (cityDOS.isEmpty()) { log.warn("不存在地市信息"); return new CityRespDTO(); @@ -120,7 +120,7 @@ public class LocationServiceImpl implements LocationService { //根据地市查询对应的区信息 List countyContentList = new ArrayList<>(); - List countyDOList = locCountyMapper.selectCountyByCity(city.getProvinceCode(), city.getCityCode()); + List countyDOList = locCountyMapper.selectCountyByCity(city.getProvinceCode(), city.getCityCode()); countyDOList.forEach(county -> { CountyContent countyContent = new CountyContent(); countyContent.setCountyName(county.getCountyName()); diff --git a/src/main/resources/mappers/AlarmDevideTaskMapper.xml b/src/main/resources/mappers/AlarmDevideTaskMapper.xml new file mode 100644 index 0000000..6da24da --- /dev/null +++ b/src/main/resources/mappers/AlarmDevideTaskMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + INSERT IGNORE INTO alarm_device_task(taskId, deviceId, controlChannel, sendTime, status, reportTime) + VALUES + + (#{task.taskId}, #{task.deviceId}, #{controlChannel},#{task.sendTime}, #{task.status}, #{task.reportTime}) + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mappers/AlarmTaskMapper.xml b/src/main/resources/mappers/AlarmTaskMapper.xml new file mode 100644 index 0000000..d3346b5 --- /dev/null +++ b/src/main/resources/mappers/AlarmTaskMapper.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + insert into alarm_task + + + task_id, + + + alarm_type, + + + alarm_kind, + + + alarm_county, + + + device_ids, + + + alarm_mode, + + + control_channel, + + + sender, + + + send_time, + + + approval_status, + + + + + #{task, jdbcType=VARCHAR}, + + + #{alarmType,jdbcType=TINYINT}, + + + #{alarmKind,jdbcType=TINYINT}, + + + #{alarmCounty,jdbcType=VARCHAR}, + + + #{deviceIds,jdbcType=VARCHAR}, + + + #{alarmMode,jdbcType=TINYINT}, + + + #{controlChannel,jdbcType=TINYINT}, + + + #{sender,jdbcType=VARCHAR}, + + + #{sendTime,jdbcType=VARCHAR}, + + + #{approvalStatus,jdbcType=TINYINT}, + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mappers/SensorTask.xml b/src/main/resources/mappers/AlarmTaskService.xml similarity index 100% rename from src/main/resources/mappers/SensorTask.xml rename to src/main/resources/mappers/AlarmTaskService.xml diff --git a/src/main/resources/mappers/DevAttributesMapper.xml b/src/main/resources/mappers/DevAttributesMapper.xml deleted file mode 100644 index f1a03db..0000000 --- a/src/main/resources/mappers/DevAttributesMapper.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mappers/DevTaskMapper.xml b/src/main/resources/mappers/DevTaskMapper.xml deleted file mode 100644 index 76d5cf8..0000000 --- a/src/main/resources/mappers/DevTaskMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mappers/DevBasicInfoMapper.xml b/src/main/resources/mappers/DeviceMapper.xml similarity index 54% rename from src/main/resources/mappers/DevBasicInfoMapper.xml rename to src/main/resources/mappers/DeviceMapper.xml index 061f22d..739a636 100644 --- a/src/main/resources/mappers/DevBasicInfoMapper.xml +++ b/src/main/resources/mappers/DeviceMapper.xml @@ -1,38 +1,43 @@ - - + + + - - - - - - - + + + + + + + + + - - - - + + + + + + - select * - from device_basic_info + from device - + and province_code = #{provinceCode} - + and city_code = #{cityCode} - + and county_code = #{countyCode} @@ -41,11 +46,13 @@ - select * - from device_basic_info + from device where device_id = #{deviceId} + \ No newline at end of file diff --git a/src/main/resources/mappers/LocCityMapper.xml b/src/main/resources/mappers/LocCityMapper.xml index b878731..2a5143d 100644 --- a/src/main/resources/mappers/LocCityMapper.xml +++ b/src/main/resources/mappers/LocCityMapper.xml @@ -4,9 +4,9 @@ - - - + + + @@ -17,24 +17,38 @@ select * from location_city - + and province_code = #{provinceCode} - + and city_code = #{cityCode} + + + + + \ No newline at end of file diff --git a/src/main/resources/mappers/LocCountyMapper.xml b/src/main/resources/mappers/LocCountyMapper.xml index 9eec1ae..ea90fbf 100644 --- a/src/main/resources/mappers/LocCountyMapper.xml +++ b/src/main/resources/mappers/LocCountyMapper.xml @@ -27,4 +27,5 @@ + \ No newline at end of file diff --git a/src/main/resources/mappers/LocProvinceMapper.xml b/src/main/resources/mappers/LocProvinceMapper.xml index 9d1f97d..7ed718b 100644 --- a/src/main/resources/mappers/LocProvinceMapper.xml +++ b/src/main/resources/mappers/LocProvinceMapper.xml @@ -4,7 +4,7 @@ - + @@ -20,7 +20,7 @@ select * from location_province - + and province_code = #{provinceCode} diff --git a/src/main/resources/mappers/SystemConfigMapper.xml b/src/main/resources/mappers/SystemConfigMapper.xml new file mode 100644 index 0000000..8b8b925 --- /dev/null +++ b/src/main/resources/mappers/SystemConfigMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + insert + ignore into system_config(name, value) + values ( + #{name}, + #{vale} + ) + + + + + update system_config + set value = #{value}, + where name = #{name} + + + + + \ No newline at end of file diff --git a/src/main/resources/mappers/TaskMapper.xml b/src/main/resources/mappers/TaskMapper.xml deleted file mode 100644 index a67c41d..0000000 --- a/src/main/resources/mappers/TaskMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file